- 28 9月, 2018 1 次提交
-
-
由 João Sousa 提交于
Changed the way to detected leader replay attacks. This is now done using the last request submitted to the delivery thread from each client.
-
- 27 9月, 2018 3 次提交
-
-
由 João Sousa 提交于
-
由 João Sousa 提交于
-
由 João Sousa 提交于
Implemented parallel request verification when a full PROPOSE message arrives at the replicas (merged with an older branch). It is now possible to indicate the specific provider to use for each algorithm (e.g., hmacs, signatures, hashing, secret key generation). Providers are now given as parameters in the config/system.config gile instead off being passed in the constructors. This means that any custom provider needs now to be loaded to the JVM before instantiating the library classes. Custom security providers are now passed as argument
-
- 26 9月, 2018 3 次提交
-
-
由 João Sousa 提交于
Fixed race condition with Netty's writeAndFush() method in the client/server communication system, which would cause message corruption while disseminating messages across multiple targets.
-
由 jcs47 提交于
Server Start
-
由 João Sousa 提交于
-
- 25 9月, 2018 1 次提交
-
-
由 João Sousa 提交于
Batch serialization was modified to explicitly include the signature size of the requests. The same was done for the encoding and decoding of messages exchanged via the netty framework between clients and replicas (in this case not only for signatures, but for MACs and request payload too). This was done because previous commits included changes to allow developers to supply their own cryptographic providers and public key loaders, which means that now the library may have to use algorithms that to not enforce a fixed size on signatures (e.g., ECDSA signatures). Therefore it is not be safe anymore to implicitly assume the size of the signatures during deserialization. This modification caused serialized batches to gain an extra 4 bytes for each signed request, and between 8 to 12 additional bytes to serialized messages exchanged with Netty. Therefore, a slight throughput decrease may be observed when submitting the library to new workload tests.
-
- 24 9月, 2018 2 次提交
-
-
由 João Sousa 提交于
-
由 João Sousa 提交于
-
- 12 9月, 2018 1 次提交
-
-
由 João Sousa 提交于
-
- 11 9月, 2018 3 次提交
-
-
由 João Sousa 提交于
Re-implemented enoughRegencies() and enoughLeaders() of the BaseStateManager class in the correct way
-
由 João Sousa 提交于
-
由 João Sousa 提交于
Fixed a mistake when evaluating the time elapsed since a request was received for the leader change protocol (time units were in nanoseconds but evaluated as miliseconds). Fixed a bug on the leader change protocol that happened if the leader crashed and the request timeout triggered without any requests expired, which would make the system block. Edited that old LC_MSG log message into a more developer-friendly format. It also now only output if the message comes from other replica.
-
- 10 9月, 2018 2 次提交
-
-
由 João Sousa 提交于
ServiceProxy.invoke now always releases the lock with a 'finally' clause, so that unhandled exceptions do not result in threads being stuck while invoking that method.
-
由 João Sousa 提交于
Fixed bug that would make the currentView file always be created in the same local directory regardless of the path that is passed as an argument to the ServiceReplica constructors.
-
- 12 8月, 2018 1 次提交
-
-
由 João Sousa 提交于
Fixed bug on VMServices that would recognize a custom keyloader and provider and fallback on the defaults
-
- 11 8月, 2018 2 次提交
-
-
由 João Sousa 提交于
Cleaned up the algorithms for hmac, secret keys, signature and hashing. Added parameters at config/system.config for the above algorithms.
-
由 João Sousa 提交于
-
- 10 8月, 2018 1 次提交
-
-
由 João Sousa 提交于
It is now possible to supply to the library a custom key loader to replace the original RSA key loader. This is useful for applications that also need to use and manage the same structure of keys as the library and/or to use different public key algorithms/providers. This was done by creating a new interface "KeyLoader" and extending the ServiceProxy and ServiceReplica constructors with parameters to pass objects that implement the interface. If a null object is passed, the library will simply load the default RSA key loader.
-
- 07 8月, 2018 1 次提交
-
-
由 João Sousa 提交于
Also replaced all System.out.println and ex.printStackTrace methods with adequate SLF4J invocations. Included xml configuration file for logback.
-
- 04 8月, 2018 2 次提交
-
-
由 João Sousa 提交于
-
由 João Sousa 提交于
-
- 03 8月, 2018 3 次提交
-
-
由 João Sousa 提交于
-
由 João Sousa 提交于
Changed parameter system.communication.nettybindaddress to just system.communication.bindaddress. The replica will now use that value both for netty and the replica sockets. Fixed an issue related to the loopback address. If hosts.config specify such address, parameter system.comunication.bindaddress is overridden
-
由 João Sousa 提交于
Fixed and issue that arised when a replica fetched the loopback address instead of an actual address for one of its interfaces, when binding Netty to an address and port. Now if a replica detects that its address in config/hosts.config is different from what it automatically resolves, it adopts the address in that file instead.
-
- 30 7月, 2018 1 次提交
-
-
由 João Sousa 提交于
Created new option that allows the replica to fetch its local ip address on its own when binding Netty's server bootstrap (instead of relying o the ip address present in config/hosts.config). This way we can avoid editing config/hosts.config at each replica when running inside docker or when deploying in Amazon EC2 with elastic IPs.
-
- 25 7月, 2018 1 次提交
-
-
由 João Sousa 提交于
Implemented parallel signature verification when a full PROPOSE message arrives at the replicas. Storing it in a new branch because I did not tested this yet on the datacenter.
-
- 19 7月, 2018 1 次提交
-
-
由 João Sousa 提交于
Created new option to force all replicas to receive the same number of requests per batch. Not to be confused with the batch used for the PROPOSE message from the ordering protocol.
-
- 31 5月, 2018 1 次提交
-
-
由 João Sousa 提交于
Implemented a mechanism to trigger a leader change if replicas receive an invalid proposal from the leader. Fixed some bugs on the Synchronizer and in the communication system along the way.
-
- 30 5月, 2018 1 次提交
-
-
由 João Sousa 提交于
Modified RequestVerifier to receive the entire TOMMessage instead of just the payload. Binary files are also updated to reflect this.
-
- 22 3月, 2018 1 次提交
-
-
由 Alysson Bessani 提交于
-
- 20 3月, 2018 1 次提交
-
-
由 Alysson Bessani 提交于
-
- 06 2月, 2018 1 次提交
-
-
由 Manish Kumar 提交于
-
- 28 12月, 2017 1 次提交
-
-
由 jcs47 提交于
-
- 14 11月, 2017 4 次提交
-
-
由 João Sousa 提交于
-
由 João Sousa 提交于
Added new parameter to appExecuteBatch method in DefaultRecoverable that indicates if the command arrived directly from the total order algorithm
-
由 João Sousa 提交于
-
由 João Sousa 提交于
-
- 04 11月, 2017 1 次提交
-
-
由 João Sousa 提交于
-