Commit Graph

770 Commits

Author SHA1 Message Date
572c4af40c Use NetworkMap and SignedNetworkMap in NetworkMapClient, and enable signature verification. (#2054)
* new network map object for network map, and verify signature and root in Signed network map and node info

* fixup after rebase

* * added certificate and key to network map server
* move DigitalSignature.WithCert back to NetworkMap.kt, as its breaking API test, will raise another PR to move it back.
* Make DigitalSignature.WithCert not extend WithKey, as per PR discussion.
* various fixes after rebase.

* move Network map back to core/node, as its breaking API test

* revert unintended changes

* move network map objects to node-api
2017-11-29 15:55:13 +00:00
c88c6202b9 CORDA-553 - Review comments 2017-11-28 17:27:53 +00:00
4c2f0d7913 Fix broken unit test
At the moment the test just asserts we can't evolve enums, it's a
placeholder for the next phase of the changes
2017-11-28 10:03:01 +00:00
f135d57820 CORDA-553 - Plumb the transform schema into the AMQP serialisation framework
This change doesn't enable anything, it just changes the code to pass
around both relevant schemas instead of a single one from the AMQP
envelope. The actual evolver will build ontop of this
2017-11-27 19:23:12 +00:00
2ceb6283af Moved X509Utilities, and some other crypto utilities in node, into node-api so that they can be used by services outside of the node.
There's also some cleanup as well.
2017-11-27 15:49:33 +00:00
1705df4d1f Made the database config option typesafe, rather than relying on String properties 2017-11-27 13:51:53 +00:00
f7e51a9ae1 Various cleanups to AMQP and Kryo serialisation:
* PartyAndCertificate serialiser has been converted to deal with just CertPath
* Removed X500Name serialiser as we no longer use the BC implementation and have our own CordaX500Name
* Converted X509 cert serialiser to use Java certs and not BC X509 cert holder
* Added to test to AMQP serialisation to make sure c'tor is invoked on deserialisation
2017-11-21 14:01:03 +00:00
f26aa33553 Introduce contextLogger (#2085)
* Revert with comment, probably lazy for a reason.
2017-11-20 11:31:08 +00:00
039cacae76 CORDA-787 Remove unused class (#2049)
* and refactor a superclass that isn't really one
* move it to internal
* misc refactorings
2017-11-17 12:24:55 +00:00
92c8861802 [CORDA-760]: Propagate invocation context across the codebase. (#2016) 2017-11-15 14:58:43 +00:00
2a961b8e2c Separate server contexts from shared contexts. (#2044) 2017-11-13 21:23:23 +00:00
052124bbe0 CORDA-716 Make serialization init less static (#1996) 2017-11-10 15:44:43 +00:00
39e2f6ad99 ENT-1031 AMQP serializer for ContractAttachment, evaluate lazy attachment and write out in full 2017-11-10 14:42:18 +00:00
2a83167d3b Merge pull request #2024 from corda/christians_public-key-caching-hooks
Public key customization hooks
2017-11-10 13:37:37 +00:00
5354c777ce CORDA-781 code layout cleaned up 2017-11-10 11:54:03 +00:00
b0517954a0 CORDA-781 clean up imports 2017-11-10 11:10:06 +00:00
13001ee674 CORDA-781 code review: clean up AMQP scheme 2017-11-10 10:23:19 +00:00
4c1d1733a5 Serialization of large contract attachments causes OOM exception (#1991)
* Don't serialize contract attachment, only hash and contract class name if we are checkpointing
2017-11-10 10:21:36 +00:00
26819bfd04 No public key serializer overriding for checkpointing 2017-11-09 15:23:12 +00:00
89b01ab342 Hooks for PublicKeySerializer customization 2017-11-09 15:12:52 +00:00
219433c3cd Hooks for PublicKeySerializer 2017-11-09 14:49:23 +00:00
a036a6300c Enforce serialization API for Java. (#2014) 2017-11-08 11:49:52 +00:00
deaba2887d Some cleanup after network map removal (#2006) 2017-11-07 12:16:49 +00:00
7944fcde5c Supported TLS cipher suites (#2005) 2017-11-07 10:05:51 +00:00
d04e48740b Introducing network parameters.
network-parameters file read in by the node at startup, of which only the list of notaries is used. For now, the driver and MockNetwork have been updated to require notaries to be started first. This is so that the same set of network parameters can be defined for all the nodes.

CN in the legal name is not longer disallowed since it's no longer reserved for distributed notary names.

Single-node notaries now only have one identity, their main identity. Nodes part of a cluster continue to have two.

(Based off Kasia's work)
2017-11-03 09:46:10 +00:00
d6adb83cd0 CORDA-756 - Refactor Kryo into sub module as per AMQP 2017-10-31 15:45:58 +00:00
4b0b13dad4 CORDA-716 Retire TestDependencyInjectionBase (#1939) 2017-10-31 10:21:38 +00:00
a74154a126 Merge pull request #1904 from corda/kat/feature/enumEvolver
CORDA-553 - First steps towards evolvability
2017-10-30 14:08:09 +00:00
9176fcb8e6 Remove for good network map service node (#1942)
* [CORDA-446] Kill network map registration and fix NodeBasedTest
2017-10-30 11:45:52 +00:00
ecbb4330da CORDA-553 - Review comments 2017-10-30 11:15:05 +00:00
3350605536 CORDA-553 - Cope with future transforms 2017-10-27 12:41:23 +01:00
bc12f87a24 CORDA-553 - Review Comments 2017-10-27 12:41:13 +01:00
3633624dc6 CORDA-553 - First steps towards evolvability
Define the two transforms that will be useful for enum evolvability (see
design document for more details).

Furthermore, define the generic mechanism by which transform annotations
on classes are encoded into the AMQP envelope

With nothing to check for these annotations at either end, this is
mostly a no op, but an important step toward getting evolvability in
place
2017-10-27 12:40:53 +01:00
cbc4003032 Merge pull request #1905 from corda/kat/feature/addEnterpriseAMQPIdentifier
Corda-725 - Change AMQP identifier
2017-10-20 10:21:19 +01:00
005ce349a7 * Retire MockServiceHubInternal (#1909)
* Introduce rigorousMock
* Add test-utils and node-driver to generated documentation
2017-10-20 10:06:53 +01:00
e6de0aa406 Review Comments 2017-10-19 16:19:42 +01:00
1e05f27bae CORDA-725 - Change AMQP identifier to officially assigned value
This does change our header format so pre-cached test files need
regenerating
2017-10-19 12:01:39 +01:00
b33b013284 [CORDA-442] let Driver run without network map (#1890)
* [CORDA-442] let Driver run without network map

- Nodes started by driver run without a networkMapNode.

- Driver does not take a networkMapStartStrategy anymore

- a new parameter in the configuration "noNetworkMapServiceMode" allows for a node not to be a networkMapNode nor to connect to one.

- Driver now waits for each node to write its own NodeInfo file to disk and then copies it into each other node.

- When driver starts a node N, it waits for every node to be have N nodes in their network map.

Note: the code to copy around the NodeInfo files was already in DemoBench, the NodeInfoFilesCopier class was just moved from DemoBench into core (I'm very open to core not being the best place, please advise)
2017-10-18 13:49:32 +01:00
cac3057877 CORDA-540: Make Verifier work in AMQP mode (#1870) 2017-10-17 10:44:27 +01:00
38cf4a489e CORDA-676 Eager cordapp schemas (#1839)
* Retire customSchemas.
* Key cordapp-to-hash map by url as native equality too strict.
2017-10-16 11:35:29 +01:00
899f7f9d0d Change the serialization/deserialization code of SessionMessage data to add more validation.
Address PR comments

As pointed out by Shams the SessionInit must be well formed at this point.
2017-10-11 15:17:48 +01:00
9cec137a31 CORDA-702: Don't whitelist certain non-annotated types (#1864)
* Don't whitelist arrays of non-serialisable types for RPC.
* Don't whitelist enums which have not been annotated as serialisable.
2017-10-11 11:17:14 +01:00
ef0f0acc4a Make integration tests pass in AMQP mode, part 1 (#1855) 2017-10-11 11:13:46 +01:00
4ee250a19b Retire setCordappPackages. (#1860) 2017-10-11 10:35:21 +01:00
bd53a22efa Removed extraAdvertisedServiceIds config
The remaining use for it was the finance CorDapp for permissioning CCY issuers. Instead this is now taken from a custom config in node.conf.
2017-10-10 13:47:37 +01:00
14f959b4af Code clean-up run 2017-10-09 15:26:40 +01:00
f98942d7ad Reformat files in node-api 2017-10-09 15:26:39 +01:00
689758a71c CORDA-644: Only serialise Kotlin lambdas when checkpointing. (#1801)
* Remove local function because it is serialised as a lambda.
* Don't automatically whitelist Kotlin lambdas unless checkpointing.
* Add comment to @CordaSerializable, warning not to allow AnnotationTarget.EXPRESSION.
2017-10-09 13:02:40 +01:00
a9508b393c CORDA-540: AMQP Private key serializer (#1838) 2017-10-09 11:22:11 +01:00
a425f82c77 CORDA-540: Change how standard mutable whitelists structured (#1814) 2017-10-09 10:19:37 +01:00