Commit Graph

770 Commits

Author SHA1 Message Date
d0568121b7 Some code tidy up ahead of post-GA development. (#3500)
Handle SSL Handshake timeouts properly
2018-07-03 14:16:31 +01:00
66cb0e389b Warning timer thread should run as a daemon (#3450) 2018-06-27 12:57:37 +01:00
e00c7706c3 CORDA-1661 Reverting DEV certificates (#3422)
* CORDA-1661 Reverting DEV certificates

* Addressing review comments

* Removed the intermediate certificate from the trust store and added some test cases for the revocation check
2018-06-25 16:40:51 +01:00
9be4c5dca4 CORDA-1567 Remove all traces of the out-of-process verifier (#3424) 2018-06-25 13:01:33 +01:00
3046843d40 CORDA-1602: Added cmd line flags to the network bootstrapper (#3419)
The list of CorDapps jars is no longer passed in via the cmd line but is now expected to be placed in the bootstrapped directory.

Ended up being a bit of a refactor to cater for unit testing, and also tidied up the bootstrapper docs.
2018-06-23 11:36:10 +01:00
381aadc78f ENT-1796 RPC SSL (#3401)
* ENT-1796 add just-generate-rpc-ssl-settings command line flag. Fix ssl configuration and documentation

* ENT-1796 small fix. change alias

* ENT-1796 address code review changes

* ENT-1796 revert file

* ENT-1796 Added check to display better error message

* ENT-1796 Doc fixes
2018-06-21 16:46:05 +01:00
2f34b16b07 Fix to allow equality of hostname (#3381)
* Fix to allow equality of hostname

* Remove unreliable require test per pull 3381

* Remove unreliable require test per pull 3381
2018-06-21 09:03:32 +01:00
4ff5aa34b6 Change to use MDC logic in bridge/AMQP protocol logging (#3398) 2018-06-20 11:55:59 +01:00
999ee49804 ENT-2053 Fix messaging TTL related settings causing disconnects (#3384)
* ENT-2053 Revert RPC TTL due to hanging RPC clients.

* ENT-2053 Set TTL correctly.
2018-06-15 16:57:49 +01:00
377d980c99 Fixing filename typo (#3358) 2018-06-14 16:35:42 +01:00
d97f4f58be CORDA-1624 updating the DEV certificate with CRL distribution point (#3353)
* CORDA-1624 updating DEV certificates with CRL distribution points implying R3 owned endpoints

* Keeping old keys but updating certificates
2018-06-13 12:01:15 +01:00
4bf5d809a5 If the Artemis connectionTTL configuration is not set then some of the cleanup actions do not happen on client kill. This prevents durable messages being replayed (#3351)
and may prevent cleanup of other resources.

Undo spurious code
2018-06-13 10:32:29 +01:00
02884e6c81 CORDA-1593 Extracting the whitelist logic and making it public (#3317)
* CORDA-1539 Extracting the whitelist logic and making it public

* Addressing review comments
2018-06-12 09:31:06 +01:00
c474c04503 ENT-1837 better error message on db failure (#3318) 2018-06-07 14:05:28 +01:00
5f2c3d175d ENT-2036 Handle ClosedChannelException during SSL handshake (#3314) 2018-06-06 13:08:33 +01:00
468c0c7404 CORDA-1349: Docs: improve docs on permissioning, doorman and network map. (#3277)
* Docs: improve docs on permissioning, doorman and network map.

* Add a convenience serialization API for Java users, marked as
internal for now with a TODO to make it public after we start work on
Corda 4.0. Otherwise serializing arbitrary objects to AMQP is awkward.
2018-06-06 13:57:25 +02:00
d86ae5fc0b I set the max retry time for AMQP at 5 minutes. This is just too long for any kind of sensible testing, so drop back to 1 minute. (#3294) 2018-06-05 10:30:35 +01:00
4bc9151d5d Limit concurrency of the bootstrapper (#3271) 2018-06-01 11:55:46 +01:00
7b09795795 CORDA-1383: Cleaned up the JSON format of WireTransaction and SignedTransaction (#3248)
In particular correctly outputs the custom state and command objects in the txs. Also fixed up deserialisation back into the transaction objects.
2018-05-30 16:37:41 +01:00
ed70fea3a7 CORDA-1548 Hibernate session not flushed before handing over raw JDBC session to user code (e.g. coin selection) (#3266)
* Hibernate session flushed before handing over raw JDBC session to user code + test - inserting and selecting cash in the same transaction
* Additional two tests copied from Enterprise repo
2018-05-30 16:19:06 +01:00
202bd6603b Simplify the toString, so that printing ConnectionChange events into the log output only gives a summary and reduce logging. (#3247) 2018-05-29 18:18:31 +01:00
f68cf6f712 [CORDA-1341]: Ensure API can be called concurrently wrt transactions. (#3235) 2018-05-29 15:25:34 +01:00
59fdb3df67 CORDA-1475 CORDA-1465 Allow flows to retry from last checkpoint (#3204) 2018-05-25 13:26:00 +01:00
7ff008d4e3 Prevent bridge reconnection attempts on targets that present invalid/misconfigured/different certificates to protect nodes from dead identities. (#3225) 2018-05-24 16:53:09 +01:00
61fedb5fd2 [CORDA-1528]: Node configuration not containing property "rpcSettings.address" fails with error "No configuration setting found for key 'address'" (fix). (#3229) 2018-05-24 13:20:04 +01:00
3136e973a7 CORDA-1511: Kryo only used for node checkpoints and so moved out of serialization module and into node (#3228) 2018-05-24 12:18:07 +01:00
cba83aca13 Move RxNotification serializer into the serialization package (#3214) 2018-05-22 15:17:18 +01:00
48b126321b Reverting API breaking change in PermissionException. (#3209) 2018-05-22 09:48:29 +01:00
5de2c2aa4b [CORDA-1264}: Complete obfuscation of exceptions to client side. (#3155) 2018-05-21 13:34:37 +01:00
455221629b CORDA-1343 Make the RPCClient ssl constructors public. Clean up broke… (#3039)
* CORDA-1343 Make the RPCClient ssl constructors public. Clean up broker authentication logic

* CORDA-1343 small fix

* CORDA-1343 cleanup

* CORDA-1343 fixed api changes script

* CORDA-1343 fixed merge

* CORDA-1343 removed unused property

* CORDA-1343 add separate p2p and rpc node users

* CORDA-1343 remove test configuration

* CORDA-1343 fix tests

* CORDA-1343 address core review comments

* CORDA-1343 some documentation and adding createWithSsl method for a haAddressPool

* CORDA-1343 clean up the CordaRPCClient interface

* CORDA-1343 add internal shell test

* CORDA-1343 address code review comments

* CORDA-1343 split the internalShell user from the System Rpc user

* CORDA-1343 fix test

* CORDA-1343 Add warning when certificateChainCheckPolicies is being configured

* CORDA-1343 Address code review changes

* CORDA-1343 fix merge

* CORDA-1343 added test, docs, clarify comments

* CORDA-1343 clean up docs

* CORDA-1343 fix api

* CORDA-1343 fix merge

* CORDA-1343 fix merge

* CORDA-1343 fix merge

* CORDA-1343 fix merge
2018-05-21 13:05:08 +03:00
acefe4261c Bootstrap HA and BFT notaries 2018-05-18 18:33:49 +01:00
ae5bacb4b4 Network bootstrapper check for duplicate node names (#3182) 2018-05-18 10:31:24 +01:00
3cdd908714 Moved the serialisation logic in nodeapi.internal.serialization into its own module: serialization (#3179)
node-api now depends on this module and upcoming changes will use this as well rather than having to depend on node-api.

EnumEvolveTests.deserializeWithRename and EnumEvolveTests.multiOperations are temporarily ignored since their test resources can't be regenerated due to bugs.
2018-05-17 16:18:07 +01:00
0c3a30edc8 Corda-847 - Remove Kryo for RPC
It's no longer used as we've switched over to AMQP for RPC calls so
remove it from everywhere and only use it for checkpointing

 * Wire up demo bench post Kryo removal
 * Test Fixes
 * rebase and fix tests
 * Test Fix
 * wip
 * revert changes to api now we don't need to add annotations
2018-05-17 12:55:45 +01:00
f850daa582 CORDA-847 - AMQP RPC
* Client and server support for amqp
 * Observable (and supporting) serialisers
   Unit Tests
 * Fixing tests
 * Test fixes
 * CORDA-847 - Update api doc with additon of @CordaSerializable annotation
 * TestFixes
 * review comments
 * TestFixes
 * Test Fix
 * Test Fix
 * Test Fix
 * Test Fix
 * Test Fix
 * Test Fix
 * TestFix
 * Test Fix
 * Review Comments
2018-05-17 12:53:38 +01:00
0b76a12637 CORDA-864 Wire up max message size (#3057)
* add checks on message size
* added size check in AMQP bridge
* passing maxMessageSize to AMQPClient and server
* added Interceptor to enforce maxMessageSize on incoming messages
2018-05-17 09:59:30 +01:00
24fa695ca0 CORDA-866: Implement removal of stale nodes from network - backport (#3128)
* CORDA-866: Implement removal of stale nodes from network

Backported

* Implement removal of stale nodes from network

Add eventHorizon to NetworkParameters structure. Add republishing of
node info on 1 day intervals - it is treated by network map as heartbeat from node indicating if it's alive or not. Add removal of old node infos on network map signing.

* Add copy method to NetworkParameters data class

Add JvmOverloads annotation to the constructor, because it's data class
exposed in API

* Fix test
2018-05-15 12:10:04 +01:00
84d94d44ad ENT-1463: Hide more AMQP ConcurrentHashMaps behind interfaces. (#3147) 2018-05-15 12:03:33 +01:00
4f9bbc8820 ENT-1463: Isolate more non-deterministic code from AMQP serialisation. (#3138) 2018-05-14 16:50:43 +01:00
d027b5b8f2 [CORDA-1472]: Crackdown on warnings. (#3136) 2018-05-14 21:15:52 +07:00
3c005789c0 ENT-1850: Improve reporting of connection problems (#3124)
* Add nicer logging for SSL handshake problems

* Just in case let people see the horrid netty exception traces at trace level
2018-05-14 09:14:09 +01:00
a2de18b63c ENT1463: Turn ClassCarpenter and SerializerFactoryFactory into interfaces. (#3121) 2018-05-11 15:42:12 +01:00
36d13124d5 ENT-1463: Refactor serialisation slightly for determinisation. (#3110) 2018-05-10 12:42:01 +01:00
3f21c47f39 Remove lingering Kryo reference from AMQP. (#3107) 2018-05-09 20:20:43 +01:00
fe88e9907c ENT-1463: Replace getStackTraceAsString() with Throwable.initCause(). (#3101) 2018-05-09 16:36:17 +01:00
bb95156262 ENT-1447 Database transaction optional ability to retry on nested SQLException. (#3046)
Database transaction can be set to retry failure due to any exception with a cause or a nested cause of SQLException type.
Rationale: By the default transaction is retried only for SQLException. It may happen that SQL Exception is wrapped by Hibernate exception, allow to retry such cases if requested  e.g. database.transaction(recoverableFailureTolerance = 3, recoverAnyNestedSQLException = true) { .... }
2018-05-09 15:45:31 +01:00
781b50642a ENT-1463: Prepare node-api for determination. (#3080)
* Prepare node-api for determination.
* Disentangle Kryo and AMQP classes.
* Add version properties for fast-classpath-scanner, proton-j and snappy.
* Remove String.jvm extension function.
* Refactor Cordapp reference out of AMQP serialisers' primary constructors.
2018-05-09 13:37:04 +01:00
a61aa5d645 CORDA-847 - Pass serialization context down serialization call stack (#3062)
* CORDA-847 - Pass serialization context down serialization call stack

Needed for later work on AMQP RPC where we need to set per-thread
elements on a context. Could use some magic thread local but I'd rather
it was explicit on the stack and thus easier to reason about.

Additionally, now we're passing this around we can make better use of it
in the future

* Test Fix

* Test fixes

* REVIEW COMMENTS / CODE FORMAT

* Fix build issues
2018-05-03 16:09:03 +01:00
0494e45037 Remove debug logging left over from earlier AMQP development. (#2867) 2018-05-03 13:44:05 +01:00
20570d72cf CORDA-1238 - Move blob inspector initial work into experimental (#3058)
* CORDA-1238 - Initial blob inspector tool commit

Note this is WIP and not ready for prime time but it's time it moved off
of a personal branch and into the main code base, especially if I'm
passing the serialization code onto someone else's shoulders

* CORDA-1238 - Move blob inspector into experimental

It was developed locally in tools (as it's a tool), but it's no
where near production ready, so lets just ship it in experimental
for now

* CORDA-1238 - Tidyup and bug fixes
2018-05-03 13:25:29 +01:00