247 Commits

Author SHA1 Message Date
Shams Asari
bffac331a3
Moved the PLATFORM_VERSION constant to core and added some missing usages (#4026) 2018-10-05 09:28:00 +01:00
josecoll
3110c75847
Network bootstrapper tool: optional configuration setting to specify the minimum plat… (#4005)
* Provide an optional configuration setting to specify the minimum platform version to use in the network params file.

* Leave Cordform signature intact.

* Leave previous Gradle Plugin called signature intact.

* Incorporating feedback from PR review.

* Added minimum platform version validation check.

* Removed final 2 references to "default"

* Added changelog entry.
2018-10-03 13:41:52 +01:00
Patrick Kuo
149b6034e1
CORDA-2016 Add unit tests to ensure SNI header generation will not be changed by accident (#4014)
* Add test for SNI header to prevent changing it accidentally.

* added hardcoded values test to ensure hashing function and corda x500 name format can't be changed
2018-10-03 08:59:31 +01:00
Florian Friemel
842eac5c43
[CORDA-1926] Implement target version and min platform version (#3899)
https://r3-cev.atlassian.net/browse/CORDA-1926
2018-09-28 09:46:06 +01:00
Christian Sailer
878bd4da8c Remove TLS_DHE_RSA cipher family (#3987) 2018-09-25 22:58:47 +01:00
Konstantinos Chalkias
38c85d1711
CORDA-2009 update to BC 1.60 (security fixes) (#3974)
* update to BC 1.60 (security fixes)

* adding key combination keystore/cert tests
2018-09-20 13:11:32 +01:00
Michele Sollecito
d01dd22419
[CORDA-1937]: Refactor NodeConfiguration hierarchy. (#3856) 2018-09-04 10:26:10 +01:00
Dominic Fox
f81428eb53
Corda 1916: signature attachment constraints (#3839)
* Create constraint, extract Jar signature collection

* Extract JarSignatureCollector into its own file

* Jar signature collection throws exception if signatures are inconsistent

* Focus testing in Jar signature collection

* Extract some helper functions in test

* Patch tests with mock attachment storage

* Assert that generated constraint is satisfied by signed attachment

* Clarify constraint selection logic

* Explicit return types on extension methods

* Link to docsite Signature Contrainsts documentation

* Fix issue with shared JAR reading buffer
2018-08-24 17:21:54 +01:00
Clinton
3594ccd89b
CORDA-1924: Remove references to Cordform definition and cordform-common (#3842) 2018-08-24 16:29:14 +01:00
Shams Asari
d4f0e0f8e0
Ordered starting of node components and clear dependencies between them (#3664)
Moved start up logic of the various node components out of their c’tors and into “start” methods, which are called from Node.start(). The components themselves are created in the Node’s c’tor with minimal initialisation logic.

Certain things are not immediately available at construction time, which are instead given to the components at start time in an orderly fashion:

* Certs from the node’s key store and trust store
* The network parameters, and thus access to things like maxMessageSize and the contracts whitelist
* A running database - several components were doing database stuff their c’tors
* The node’s NodeInfo, and thus access to things like identities and addresses

The messaging service couldn’t be created in the Node’s c’tor due to initialisation issues with MockNode. This should be fixed in a later commit.
2018-07-24 16:13:21 +01:00
Michele Sollecito
abc1d99eaa
[CORDA-1799]: Avoid generating test CorDapp JARs from each out of process node started by the driver (#3641) 2018-07-23 11:18:11 +01:00
Anthony Keenan
7853cfe003
[CORDA-1482] Make boolean config variables case insensitive (#3622)
* Make boolean config variables case insensitive

* Address review comments
2018-07-21 11:54:02 +01:00
Konstantinos Chalkias
bf4f30fd39
Use newSecureRandom instead of SecureRandom (#3606) 2018-07-14 05:21:02 +01:00
Katarzyna Streich
4fb7f7d3d0
CORDA-1733 X500Principal configuration parsing (#3580)
CORDA-1733 X500Principal configuration parsing

Change the NodeConfiguration.tlsCertCrlIssuer type from String to X500Principal
2018-07-13 13:44:29 +01:00
Patrick Kuo
68d0826563
Custom config parser for more complex config structure (#3513)
* custom config parser for more complex config structure

* address PR issues
2018-07-04 16:51:54 +01:00
Michal Kit
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
Shams Asari
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
Michal Kit
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
Shams Asari
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
Shams Asari
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
Kat Baker
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
Kat Baker
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
Chris Rankin
84d94d44ad
ENT-1463: Hide more AMQP ConcurrentHashMaps behind interfaces. (#3147) 2018-05-15 12:03:33 +01:00
Chris Rankin
4f9bbc8820
ENT-1463: Isolate more non-deterministic code from AMQP serialisation. (#3138) 2018-05-14 16:50:43 +01:00
Michele Sollecito
d027b5b8f2
[CORDA-1472]: Crackdown on warnings. (#3136) 2018-05-14 21:15:52 +07:00
Chris Rankin
a2de18b63c
ENT1463: Turn ClassCarpenter and SerializerFactoryFactory into interfaces. (#3121) 2018-05-11 15:42:12 +01:00
Chris Rankin
fe88e9907c
ENT-1463: Replace getStackTraceAsString() with Throwable.initCause(). (#3101) 2018-05-09 16:36:17 +01:00
Chris Rankin
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
Katelyn Baker
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
Katelyn Baker
0d3c7e7762
CORDA-847 - RPC Server lib refactoring (#3056)
Just as we did for the RPC CLient, refactor kryo specific elements into
their own sub module. Also move kryo specific components out of generic
RPC files.

Thus, adding AMQP support will be a much smoother operation
2018-05-02 15:48:41 +01:00
Katelyn Baker
0c680ae530
CORDA-1403 - Generics serialization issue (#3030)
When implementing a generic interface subtype check fails, need
to compare to the actual raw type
2018-05-01 16:27:54 +01:00
Michal Kit
ab80df342a
CORDA-1319 Adding CRL checking for nodes (#2987)
* Adding CRL support for nodes

* Addressing review comments
2018-04-30 09:26:26 +01:00
Shams Asari
65525d74e7
CORDA-1325: Bootstrapper unable to whitelist two versions of the same contract simultaneously (#2980)
Also added unit tests
2018-04-24 10:51:24 +01:00
Shams Asari
d3446e213c
Introduced a few more extension methods to Path, which are clearer than the static methods in Files. (#2985)
Also migrated code away from the old File API.
2018-04-23 14:31:49 +01:00
Katarzyna Streich
91c52af5ac
ENT-1584: Subscribe to private network maps using UUIDs (#2922)
Client private network map implementation

Add private network maps UUIDs to config as extraNetworkMapKeys. Adjust NetworkMapServer implementation accordingly.
Change NetworkMapUpdaterTest to use NetworkMapServer instead of mock
2018-04-13 10:52:45 +01:00
Patrick Kuo
80c075b19e
Merge pull request #2958 from corda/pat/ent-1323-cherrypick
ENT-1323 Network map service to check all identities in submitted node info
2018-04-12 14:04:47 +01:00
Patrick Kuo
b5f304a104 ENT-1323 Network map service to check all identities in submitted node info (#499)
* ENT-1323 Network map service to check all identities in submitted node info

* fixup after rebase

* address PR issues, refactored createValidNodeInfo

* address PR issues

(cherry picked from commit f9ed55b)
2018-04-12 13:11:30 +01:00
Kat Baker
e6d352e446 Review comments 2018-04-12 12:09:17 +01:00
Kat Baker
03850dabc2 Review comments 2018-04-12 11:58:56 +01:00
Katelyn Baker
f19bcea82f CORDA-1229 - Setter serialization fails with lists
Looks like the super / sub type inference of setter param vs
getter param is the wrong way around. Also, Setter Type should
be the generic type, not just the type

the property must be a supertype of the setter parameter

the getter must be a supertype of the setter parameter
2018-04-12 11:17:26 +01:00
Shams Asari
1b37cef822
Minor: use of ByteArray.inputStream() and introduced PublicKey.hash (#2931) 2018-04-05 17:18:27 +01:00
Michal Kit
c8b58a601f
Adding CRL support in the generated certificates. (#2932) 2018-04-05 16:39:41 +01:00
Michal Kit
71fa61020e
Adding a unit test for SignedNodeInfo verification (#2925) 2018-04-05 11:25:41 +01:00
Katelyn Baker
6c9a39ae44
DOCS: Serialization roundtrip removes mutability explanation (#2888) 2018-03-28 09:40:21 +01:00
Katelyn Baker
e43b12c203
CORDA-1236 - Don't let Carpenter exceptions escape the serializer (#2852)
* CORDA-1236 - Don't let Carpenter exceptions escape the serializer

* Review comments

* Merge branch 'kat/bug/master/nestedCArpenterException' of https://github.com/corda/corda into kat/bug/master/nestedCArpenterException
2018-03-27 10:11:39 +01:00
Katelyn Baker
0f99efa768
CORDA-1213 - Explicitly disallow serialization of non static nested classes (#2824)
* CORDA-1213 - Explicitly disallow serialization of non static nested classes

WIP

* Review comments
2018-03-27 10:06:46 +01:00
Katelyn Baker
91cdcc6752
CORDA-1258 - Only register custom serializers once (#2862)
* CORDA-1258 - Only register custom serializers once

* Review comments

* Fix test
2018-03-26 19:09:03 +01:00
Michal Kit
144632818c
Adding the X509CRL custom serializer. (#2844)
CORDA-1233

* Adding the X509CRL custom serializer.

* Addressing review comments
2018-03-20 15:42:25 +00:00
Michal Kit
15e4449b38
Adding BigInteger serialization support (#2804)
* Adding BigInteger serialization support

* Addressing review comments
2018-03-15 10:11:01 +00:00
Shams Asari
9afcbb16a2
Unwrapping InvocationTargetException during config parsing (#2811) 2018-03-14 07:04:25 +00:00