Commit Graph

625 Commits

Author SHA1 Message Date
72ac722451 [CORDA-3130] Add a cache for looking up external UUIDs from public keys (#5357) 2019-08-14 13:24:56 +01:00
98329444f5 Revert "ENT-3658, ENT-3660: Add timeouts and hospital flow handling to CryptoService (#5364)
This reverts commit 6df142bf

* Clean some code to better merge between versions
2019-08-13 11:42:03 +01:00
b60ab70440 CORDA-2617: Add failover listeners to terminate node process (#5337)
* CORDA-2617: Add failover listeners to terminate node process

This is a backport of changes done in Corda Enterprise.

It will be triggered in case of:
a) Loss of connectivity to in-built Artemis for Bridge Control;
b) Loss of connectivity to in-built Artemis for P2P connectivity.

Note on merge to CE: Disregard these changes and take whatever CE already has.

* CORDA-2617: Update documentation on stability of Corda Node

* CORDA-2617: Documentation update after discussion with @mnesbit
2019-08-06 11:28:16 +01:00
34368bf0d5 CORDA-2216 Restrict extended key usage of certificate types (#5294)
* CORDA-2216 Restrict extended key usage of certificate types

- Remove `anyExtendedKeyUsage` from all certificates
- Restrict to server and client auth for all certificates except
  `ROOT_CA` which has had all extended key usages removed

* CORDA-2216 Update certificate types

- Remove server authentication from all certificates except for TLS
- Add client authentication to all certificates except for ROOT
2019-07-30 15:32:12 +01:00
4e66885cf9 CORDA-1937: Do not ignore alias parameter passed in. (#5314)
By now we were lucky because all the time `X509Utilities.CORDA_ROOT_CA` been used as an input parameter.
2019-07-19 21:47:52 +01:00
b4749eb8f9 CORDA-2991 (Cont): set node info polling interval to 1 second in DriverDSL Node Startup (#5285)
* Fix test execution flakiness on fast hardware: set node info polling interval to 1 second in DriverDSL Node Startup (was only being set to 1 sec in Node Registration). Follow-up to https://github.com/corda/corda/pull/5240

* Diagnostics: add additional logging to NodeInfoFilersCopier.

* Diagnostics: add additional logging to NodeInfoWatcher

* Downgrade logging level severity to debug.

* Make atomic counter unique across instances.
2019-07-17 14:48:46 +01:00
e96dcedfc6 CORDA-3068: Pass base directory when resolving relative paths (#5297) 2019-07-15 10:51:39 +01:00
76631132ca ENT-3827: Temporarily disable the HSM timeouts (#5291) 2019-07-10 18:08:22 +01:00
9bcaecfbe3 Delete unused DuplicateContractClassException (#5284) 2019-07-10 17:01:38 +01:00
14a20654bd CORDA-2991 shorten poll intervals for node info file propagation (#5240)
* CORDA-2991 shorten poll intervals for node info file propagation

* Relax minimum poll time constraint

* Relax, not comment out, minimum poll time constraint

* Correct error message
2019-07-03 15:00:55 +01:00
6df142bf7a ENT-3658, ENT-3660: Add timeouts and hospital flow handling to CryptoServices (#5226) 2019-07-03 12:39:32 +01:00
44835bd17c CORDA-2914: Allow certificate directory to be a symlink (#5102) 2019-07-03 10:39:40 +01:00
51f1e442a3 CORDA-3021: Introduce SignOnlyCryptoService and use it whenever possible (#5239)
* CORDA-3021: Introduce `SignOnlyCryptoService` and use it whenever possible

Also modify `CryptoServiceFactory` to show how sign only implementation can be created.

* CORDA-3021: Undo some of my earlier changes

Which after discussion with @dimosr and @fowlerrr proven to be contradictory.
2019-06-27 11:55:59 +01:00
726798cce8 ENT-3642: move the crypto service builder method to node-api (#5198)
* ENT-3642: move the crypto service builder method to node-api

* ENT-3642: add arg for different crypto services

* ENT-3642: add arg for cryptoservice config

* ENT-3642: add null check for BCC requirement

* ENT-3642: remove double-bang operator

* ENT-3642: cryptoservice factory method moved to its own class, improve API

* ENT-3642: remove import
2019-06-07 09:10:42 +01:00
0263650a5f Revert "Merge pull request #5145 from corda/jdk11-migration-gradle5-upgrade" (#5146)
This reverts commit f46377556c, reversing
changes made to ba675e73b9.
2019-05-20 16:16:49 +01:00
cdbf7fa830 Remove usage of private JDK class "sun.security.rsa.RSAPrivateCrtKeyImpl" (REVISIT) 2019-05-20 15:08:27 +01:00
1b3f0efa96 Included TLS 1.3 unit tests (see https://r3-cev.atlassian.net/browse/CORDA-2801) 2019-05-20 15:08:27 +01:00
688c742706 CORDA-2934 disable hibernate validator integration with hibernate (#5130) 2019-05-20 11:45:03 +01:00
355604457f CORDA-2935: Align timeouts for CRL retrieval and TLS handshake (#5125) 2019-05-15 09:19:51 +01:00
9e3a0a64ac CORDA-2491: Ability to specify Java package namespace from Cordform (#5075)
Add entry point with generic extra configuration options. Move configuration verification code to avoid circular dependencies.
2019-05-09 17:25:21 +01:00
7bcff70864 Update the proton-j library to latest version (#5105) 2019-05-08 13:04:49 +01:00
c533792f3f [CORDA-2866] Prevent node startup if legal identity key is lost but node key isn't (#5090) 2019-05-07 11:49:29 +01:00
46c073d212 CORDA-2882: Added ability to specify signature scheme when signing. (#5050)
* CORDA-2882: Added ability to specify signature scheme when signing.

* CORDA-2882: Sign operation with algo specified does not now use Crypto service.

* CORDA-2882: Added jvmoverloads for sign operation.

* CORDA-2882: Removed unused imports.
2019-04-26 10:01:43 +01:00
864a355e63 CORDA-2651 Remove null values from changelog list (#5022)
* CORDA-2651 Check if resources are in classpath before passing them to Liquibase

* CORDA-2651 Add missing stop

* CORDA-2651 Change exception type. Improve exception log message.

* CORDA-2651 Add null check when getting resources from class loader

* CORDA-2651 Do not include null values in the changelog list
2019-04-23 10:24:47 +01:00
97d1c80e30 CORDA-2801: Test to check compatibility between TLS 1.2 and TLS 1.3 (#4993)
The test is currently disabled till we move to Java 11 (or beyond) when TLS 1.3 becomes available as part of JDK.
Local testing been performed with Open JDK 12 (12+33) and the test is passing.
2019-04-15 09:51:44 +01:00
a8861fd18d Revert "CORDA-2651 Check if resources are in classpath (#4999)" (#5013)
This reverts commit 87720163
2019-04-12 16:27:43 +01:00
367c98ec7c ENT-3482: Move BC crypto service implementation to node api. (#5008)
* ENT-3482: Move BC crypto service implementation to node api.

* ENT-3482: Added missing unit test.
2019-04-12 11:35:12 +01:00
87720163f8 CORDA-2651 Check if resources are in classpath (#4999) 2019-04-11 14:38:10 +01:00
dc46446432 [CORDA-2807] Don't retry db transaction in AbstactNode start (#4942)
Retries can lead to confusing error messages in case the CFT notary is
misconfigured and throws a SQLException causing a retry.
2019-03-29 09:41:39 +00:00
c2ad64ccde CORDA-2802 use eventually to wait (#4932)
* CORDA-2802 use eventually to wait

* Catch Exception, not Throwable
2019-03-26 16:01:06 +00:00
b3b184c93e [CORDA-2701] Ensure crlCheckSoftFail config option is respected (#4854)
* Plumb through the crlCheckSoftFail configuration option to bridge manager

* Add crlCheckSoftFail test to bridge manager and fix equivalent proton wrapper test

* Update documentation and set the node configuration default to true

* Revert default change and clarify consequences of setting option to false

* Remove NodeConfiguration default to leave only AMQPConfiguration default
2019-03-08 16:23:07 +00:00
1c38ecee7b ENT-3256 Small performance enhancement and OS preparation for ENT changes (#4857) 2019-03-07 14:47:51 +00:00
9da30b431f CORDA-2554 - Bootstrapper - option to include contracts to whitelist from signed JARs (#4712)
* NetworkBoostrapper can optionally whitelist contracts from signed jars based on include_whitelist.txt file.

* refactoring, docs

* logs

* add ne parameters to the generateWhitelist method at the end

* Addressing review comments.

* CORDA-2577 disable non-downgrade rule - test fix and docs
2019-03-04 11:01:08 +00:00
8306b3f708 CORDA-2676: Allow more Network Bootstrapper code to be unloaded from JVM. 2019-03-02 17:43:26 +01:00
a18e44ed8f ENT-3025 Thread-safe liquibase migrations 2019-03-02 17:38:49 +01:00
adad7862d6 ENT-3187 Check that we're not calling toList on concurrent collections (#4828)
* ENT-3165 Kotlin toList() does not work on concurrent collections.  OS backport.

ENT-3165 Added comment.

* ENT-3187 Additional use of toList() on concurrent data structure.
2019-02-28 16:01:33 +00:00
8fb3d4dc01 CORDA-2669 - Reintroduce pendingFlowsCount (#4806)
* CORDA-2669 - pendingFlowsCount not in public API

Reintroduce `pendingFlowsCount` to public API (as deprecated). Advise
to use the `gracefulShutdown` command in the shell instead.

* CORDA-2669 - Add pendingFlowsCount to api-current.txt
2019-02-23 17:10:32 +00:00
6c4433d0b5 CORDA-2646 - Database connection pools leaking memory on every checkpoint (#4773)
* ENT-3053 Database connection pools leaking memory on every checkpoint. Flip in the thread local from the thread into the fiber.

* Back port to OS (needs some gradle changes) and added TODO, ability for it to avoid erroring if not using Hikari.

* Review feedback to remove warning.
2019-02-20 11:28:32 +00:00
efabab35c4 [CORDA-2636] Ensure states created with contract upgrades can be migrated (#4786)
* Ensure states created with contract upgrades can be migrated

* Remove line from api-current.txt representing an uncallable constructor
2019-02-19 09:48:39 +00:00
092d66ac45 [CORDA-2591] Prevent spurious logs in AttachmentVersionNumberMigration (#4765)
* Handle case where file containing network parameters is missing

* Improve logging if attachments are not available and the file path doesn't exist

* Get logs the right way around

* Fix build error in tests
2019-02-16 07:54:07 +00:00
4e2a295eb6 [CORDA-2487] Provide a migration for vault states when moving from V3 to V4.1 (#4699)
* Create a new custom migration for populating the state_party table and the relevancy_status column within the vault_states table when migrating from V3 to V4.

* Add a corresponding unit test suite.

* Small refactorings to expose data required by the migration: the isRelevant function in the NodeVaultService, and the node's legal name from the configuration.
2019-02-12 15:22:15 +00:00
cdac97120a [CORDA-2547] Migrate table of SimpleNotaryService (#4722)
* CORDA-2547: WIP Migrate old notary schema correctly.

Modify liquibase scripts to rename the old committed state table instead of creating a new one.

* Rename liquibase change sets

* Change 3.3 baseline before Liquibase.

* Aligin with ENT, orginal node-notary.changelog-v1.xml moved to node-notary.changelog-v2.xml and it's compatible with ENT (which already has changes from v2).

* Aligin with ENT, orginal node-notary.changelog-v1.xml moved to node-notary.changelog-v2.xml and it's compatible with ENT (which already has changes from v2) - adding v2 to master file.

* Ensure setting up Liquibase on pre-existing pre-Liquibase database
2019-02-08 16:30:02 +00:00
099a747ebf CORDA-2526 Allow for duplicate signed attachments in devMode (#4691)
* Allow for duplicate (contract class, version) signed attachments in devMode.

* Code clean-up.

* Fix compilation error in test code.

* Additional gating/warning and added Unit test for development mode behaviour.
2019-01-31 14:41:23 +00:00
7dc7313fb7 ENT-3000 Start pooling classpath scanning and related fixes (#4664)
* Start pooling classpath scanning

Quickly patch synchronisation of attachment class loader cache.  Needs a revisit but more complicated due to DJVM.

Annotate away for DJVM

Take ClassGraph utils into their own file so we can exclude for DJVM

Clean up a little

* Daemonize the threads

* Seems to be some concurrency problems with use of ClassGraph.  Using a mutex for now to work around.
2019-01-30 10:35:20 +00:00
22462cc1e8 [CORDA-1596] Improve error message when CorDapp schema changes (#4506)
* Raise schema exceptions with better error

* Add test and use new exceptions
2019-01-29 08:17:05 +00:00
f7a6463424 Fix Liquibase AttachmentVersionNumberMigration failure when system property is not provided or was set wrongly (a String "null" and not null) (#4632)
When system property is not provided or was set wrongly (a String with text "null" and not null reference).
2019-01-24 18:19:39 +00:00
100a6fcb56 CORDA-2475 Adjust attachments query logic to return correct results (#4612)
* CORDA-2475 Adjust attachments query logic to return correct results sets for signed/unsigned jars.

* Updates following PR review feedback by RP.
2019-01-22 22:57:43 +00:00
26cfea202b CORDA-2450 Creating attachment version from whitelisted JARs fails for node upgrade (#4593)
Upgrade from node 3.0 to 4.0 fails to create versions of whitelisted JARs from networkParameters - read parameters from file at first as in Corda 3.0 there no relevant table, then try from the table.
As this is migration, the code will run only once on each node, she increased log level to info for messages. Tested using https://r3-cev.atlassian.net/browse/R3T-1549
2019-01-17 17:26:24 +00:00
76182f29d3 Optimize contracts scanning (#4580) 2019-01-15 13:29:38 +00:00
3ba2ef3092 Make the AMQP bridge individually ACK artemis messages (so that we don't have to wait for an ack flush or end up with ack'd messages queued up). (#4568) 2019-01-14 15:32:08 +00:00