Commit Graph

2801 Commits

Author SHA1 Message Date
b05a985d99 OS->Ent merge 2018-10-22 12:57:37 +01:00
88f368134f ENT-2610: Separate passwords for store and for private keys in Corda OS. (#4090)
* ENT-2610: Separate passwords for store and for private keys in Corda OS.

When it comes to KeyStores there are *2* passwords: 1 for the keyStore as a whole and separately there is one private keys within this keyStore.
Unfortunately, those 2 passwords have to be the same due to Artemis limitation, for more details please see:
`org.apache.activemq.artemis.core.remoting.impl.ssl.SSLSupport.loadKeyManagerFactory`
where it is calling `KeyManagerFactory.init()` with store password.

Before change in this PR, throughout our codebase there are multiple places where we assume that storePassword is the same as keyPassword, even in the classes that have nothing to do with Artemis.
This is of course less than ideal as TLS communication may be used not only for Artemis connectivity (e.g. Bridge/Float interaction in Ent) and it is unfair to impose same passwords constraint on that communication channel.
Therefore this PR is removing this limitation and properly separating storePassword from keyPassword.

Linked Jira(https://r3-cev.atlassian.net/browse/ENT-2610) has for more background info.

Suggest to start review from `net.corda.core.crypto.X509NameConstraintsTest` to get an idea about the nature of the changes made.

* ENT-2610: Address PR input from @kchalkias

* ENT-2610: Address PR input from @kchalkias, s/privateKeyPassword/entryPassword/

* ENT-2610: Address PR input from @kchalkias, s/keyPassword/entryPassword/

In the implementation of `CertificateStoreSupplier`
2018-10-22 07:11:27 +01:00
fd19338f62 Merge OS -> ENT:
NodeStartup - added back Enterprise only serialization case for Oracle database in NodeStartup,
added deduplicationId to execute method in classes overriding FlowAsyncOperation
2018-10-21 22:05:12 +01:00
e56d84fd5d Merge OS -> ENT 2018-10-21 21:57:37 +01:00
dd60ae27f2 FungibleState and design document for tokens (#4049) 2018-10-20 10:52:24 +01:00
72cab90577 [CORDA-738] Ensure encumbrances are bi-directional (#4089) 2018-10-19 18:34:32 +01:00
f685df46b5 [ENT-1774] FlowAsyncOperation deduplication ID (#4068) 2018-10-19 11:40:59 +01:00
e99fa975f7 CORDA-535: Allow notary implementations to specify a serialization filter (#4054)
Only allow custom serialization filters in dev mode.
2018-10-19 11:17:20 +01:00
e1b86d0422 Fix up errors 2018-10-19 08:05:15 +01:00
b571e16d0d Merge remote-tracking branch 'remotes/open/master' into parkri-os-merge-20181018-1 2018-10-19 08:02:59 +01:00
7cfd44e383 CORDA-2113 - Include PNM ID in CSR (#4086)
* CORDA-2113 - Include PNM ID in CSR

If Compatibility Zone operator is using private networks and the node
should be joining one, optionally the ID (a UUID) of that network can be
included as part of the node's CSR to to the Doorman.

* fix broken test
2018-10-18 15:39:42 +01:00
55731ef816 ENT-2431 Tidy up buildNamed and CacheFactory 2018-10-18 10:38:43 +01:00
5ca26b1345 Merge remote-tracking branch 'open/master' into stefano-merge-201810171215
# Conflicts:
#	docs/source/node-database.rst
2018-10-17 13:49:00 +01:00
456c9a85e1 remove requirement to override default progress tracker for interacti… (#3985)
* remove requirement to override default progress tracker for interactive shell - this is no longer needed

* fix failing tests
2018-10-17 11:27:14 +01:00
715c38766d CORDA-2109: Fix a bug that prevents consecutive multiparty contract upgrades
The contract upgrade handler assumes that the state to be upgraded is
created by a WireTransaction. This breaks the upgrade process if it was
in fact issued by a ContractUpgradeWireTransactions or a NotaryChangeWireTransaction.
2018-10-17 10:20:27 +01:00
a5d93703f6 Merge pull request #1481 from corda/chrisr3-os-merf
Merge from Open Source up to 47068e6b7
2018-10-16 13:55:44 +01:00
430c4bcf83 Merge commit '47068e6b7ad0afb3ed8df61a429470f19331b7b5' into chrisr3-os-merf
Conflicts:
	docs/source/index.rst
	finance/build.gradle
	finance/src/integration-test/kotlin/net/corda/finance/flows/test/CashConfigDataFlowTest.kt
	node/src/test/java/net/corda/node/services/vault/VaultQueryJavaTests.java
	samples/simm-valuation-demo/build.gradle
2018-10-16 12:07:55 +01:00
a1bf000549 Merge pull request #1420 from roastario/disable_os_x_build_of_installer
Break dependency for pdf docs building enterprise
2018-10-16 11:38:46 +01:00
873b1f2fcd ENT-2573 Add feedback logic for messages (#1475)
* Message loopback for nodes sharing the same bridge

* address PR issue
2018-10-16 10:27:05 +01:00
39878e1966 ENT-2513 Add some P2P consumer and producer related metrics (#1419) 2018-10-16 10:15:37 +01:00
38517af8f3 CORDA-1707 Tests to prove bug doesn't exist. (#4075) 2018-10-16 10:00:32 +01:00
2248f54f9f CORDA-2096: Migrate finance test classes into .test sub-packages. (#4079) 2018-10-15 19:51:28 +01:00
9b6eb02bab Merge fixes 2018-10-15 13:51:18 +01:00
380a942954 CORDA-2030: Prevent kotlin-stdlib-jre8 from becoming an accidental transitive dependency. (#4073) 2018-10-15 13:44:02 +01:00
958f5dd65f Merge remote-tracking branch 'open/master' into os-merge-6d4bdb8
# Conflicts:
#	docs/source/changelog.rst
#	node-api/build.gradle
#	node/src/integration-test/kotlin/net/corda/node/flows/AsymmetricCorDappsTests.kt
#	node/src/integration-test/kotlin/net/corda/node/flows/FlowCheckpointVersionNodeStartupCheckTest.kt
#	node/src/integration-test/kotlin/net/corda/node/modes/draining/FlowsDrainingModeContentionTest.kt
#	node/src/integration-test/kotlin/net/corda/node/services/AttachmentLoadingTests.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/DriverDSLImpl.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/TestCordappDirectories.kt
2018-10-15 12:34:29 +01:00
6d4bdb84b9 Code cleanup, mostly shortening long lines (#4070) 2018-10-15 12:01:15 +01:00
3981a88301 Merge branch 'open/master' into andrius/merge-10-15 2018-10-15 10:50:12 +01:00
2c9a942e1a CORDA-2088: Simplified the TestCordapp public API (#4064)
The entry point to the API has been simplified to just requireing a list of packages to scan, with sensible defaults provided for the metadata. Because of the wither methods, having parameters for the metadata (with default values) seems unnecessary. Also the ability to scan just individual classes has been made internal, as it seems unlikely app developers would need that level of control when testing their apps.

TestCordappImpl is a data class and thus acts as a natural key for the Jar caching, where previously the key was the package names. This fixes an issue where it was not possible to create two CorDapp Jars of the same package but different metadata.
2018-10-15 10:11:18 +01:00
ff7496ed20 Minor: replace branch name with commit hash for caffeine dependency.
This fixes the issue where Intellij loops for ages to try and resolve it from the artifactory.
2018-10-12 15:13:19 +01:00
70e24b79fb Thomas/ent 2510 single column index (#1431) 2018-10-12 15:11:10 +01:00
ba271f7adc Bogdan ent 2295 SNI (#1435)
* ENT-2295: added SNI support to bridge

* ENT-2295: removed unused method args, adde new line

* ENT-2295: fix checking for existing bridges

* ENT-2295: fix AMQPBridgeTest(included source x500 name in messages)

* ENT-2295: fix ProtonWrapperTests (added source id and only check for SNI if bridge is shared)

* ENT-2295: fixed issue with artemis round robin not working when autogrouping was on

* ENT-2295: adapt to use openSSL, added SNI tests

* ENT-2295: server side openSSL now uses SniHandler magic

* ENT-2295: service queues are not exclusive

* ENT-2295: remove check for nodes sharing artemis when resolving targets

* ENT-2516 SNI - Log the requested server name (if any) in the AMQPServer (#1454)

* WIP

* log server name in ssl handshake

* big fix

* handle nullable sslParameters

* ENT-2295: address PR comments

* ENT-2295: remove unused imports

* ENT-2295: fix warnings

* ENT-2295: address PR comments

* ENT-2295: added node to node intergration tests, added openssl dep to bridge capsule

* ENT-2295: message group id is unique for service queues

* ENT-2295: address PR comment
2018-10-12 12:24:54 +01:00
aced03df54 CORDA-1274: Migrated usage of FastClasspathScanner to ClassGraph (#4060)
FastClasspathScanner was renamed to ClassGraph for the version 4 release
2018-10-11 19:50:26 +01:00
8c41ae208d CORDA-535: Remove BFT-Smart related migration parts 2018-10-11 17:54:00 +01:00
b8b2cc772d CORDA-535: Remove the old mechanism for loading custom notary service implementations.
All notary service implementations are now assumed to be loaded from CorDapps.
2018-10-10 17:16:57 +01:00
504cefc6f6 CORDA-535: Move MySQL notary into a separate module 2018-10-10 16:07:16 +01:00
69ae8e5565 CORDA-535: Fix merge issues 2018-10-10 11:22:06 +01:00
b7d59785e7 Merge remote-tracking branch 'open/master' into andrius/merge-10-10 2018-10-10 10:45:21 +01:00
9ebeac1ad8 CORDA-535: Extract notary implementations into CorDapps (#3978)
* Move Raft and BFT notaries into separate modules

* Move schemas

* Fix tests & demos

* Modified logic for creating notary services:

Added a new field 'className' to the notary configuration. The node now
loads the specified implementation via reflection. The default className
value points to the simple notary implementation for backwards compatibility.
Relevant schemas are loaded in a similar fashion.

For backwards compatibility purposes the default SimpleNotaryService will
remain built-in to node, but its cordapp will be generated on startup – so
the loading of notary services is streamlined.

* Move test namedcache factory to test utils
2018-10-10 10:04:22 +01:00
25ad5d411d Fix merge conflict 2018-10-09 16:28:49 +01:00
a6fd2ba903 Merge remote-tracking branch 'open/master' into anthonyk-os-merge-20181009
# Conflicts:
#	core/src/main/kotlin/net/corda/core/utilities/ByteArrays.kt
#	node/src/main/kotlin/net/corda/node/serialization/kryo/KryoCheckpointSerializer.kt
2018-10-09 16:15:59 +01:00
b6f2532ce6 Corda 1922 serialize states with calculated values (#3938)
* Introduce SerializeForCarpenter annotation

* Apply SerializableComputedProperty annotation to Cash.exitKeys, fix bugs

* info -> trace

* Remove annotation from FungibleAsset, as we do not know whether all implementing classes will provide the property as a calculated value

* Remove redundant import

* Explicit lambda params

* Restore explicit import for Enum valueOf

* Moving and rescoping

* More meaningful error message

* Add java test and documentation

* Fix accidentally broken unit test

* Ignore superclass annotation if property not calculated in implementing class

* Exclude calculated properties from Jackson serialisation

* Fix broken test
2018-10-09 14:54:31 +01:00
d8ebde07d4 New jitpacked version of quasar (#1452) 2018-10-09 11:34:29 +01:00
efa990728e ENT-2576: Fix building Enterprise Corda on Windows. (#1460) 2018-10-08 16:42:59 +01:00
d9ea19855f CORDA-2006: Simplify checkpoint serialization (#4042)
* CORDA-2006: Simplify checkpoint serialization

* Supply rule to KryoTest
2018-10-08 13:39:28 +01:00
4cb31f4c8b Merge commit '39434dcbecdd2cd656e40622530e84d02443b8e2' into chrisr3-os-merge 2018-10-08 10:42:55 +01:00
06002af81f ENT-2408 Jitpack version of Caffeine with 50% window size. (#1352)
(cherry picked from commit 722824d)
2018-10-05 11:20:10 +01:00
bffac331a3 Moved the PLATFORM_VERSION constant to core and added some missing usages (#4026) 2018-10-05 09:28:00 +01:00
85d2a85e85 Safe parsing of min platform version and target version from CorDapp MANIFEST files (#4031)
Also includes some cleanup
2018-10-04 16:00:07 +01:00
6f9d4323ef Merge remote-tracking branch 'open/master' into cburlinchon-os-merge-041018 2018-10-04 12:02:20 +01:00
5d03a03ec4 CORDA-2030 - ensure the correct kotlin runtime library is used to resolve AutoCloseable (#4028)
Fixes compatibility issue surfaced as "java.lang.NoClassDefFoundError: kotlin/jdk7/AutoCloseableKt"
2018-10-04 11:48:24 +01:00