Commit Graph

8050 Commits

Author SHA1 Message Date
a88c519096 CORDA-2740 - Remove RPC exception obfuscation (#5455) 2019-09-10 15:06:15 +01:00
4cbe22949d CORDA-3018 Whitelisting attachments by public key - phase two tooling (#5386)
Allow node operators to blacklist signing keys (using blacklistedAttachmentSigningKeys config option). These blacklisted keys prevent attachments that are received over the network from being trusted. The docs have been updated to detail how to generate the key hashes that the config requires.

A new shell command attachments trustRoots has been added to see what attachments exist on the node along with information about their trust and where it comes from.

run dumpCheckpoints has been replaced by checkpoints dump as InternalCordaRPCOps needed to change to prevent a function that is meant to be internal from being visible on the shell.
2019-09-10 12:16:34 +01:00
1a53f1a22a CORDA-2871: Ensure ClassLoader.loadClass() throws ClassNotFoundException for all cases where the class cannot be found. (#64) 2019-09-10 11:50:02 +01:00
062acf89be CORDA-2871: Modify sandbox tasks to implement both java.Function and sandbox.Function (#62)
* Modify sandbox tasks to implement both java.Function and sandbox.Function.
* Make TaskExecutors implement BiFunction to make them composable.
* Create ImportTask to wrap a java.Function inside a sandbox.Function.
* Add createExecutor() and createRawExecutor() APIs to SandboxClassLoader.
* Update serialization to use SandboxClassLoader.toSandboxClass().
* Remove a layer of lambdas from the serialisation code.
* Update SandboxExecutor and SandboxRawExecutor.
* Rename Executor to TaskFactory.
* Rename dangling executor -> taskFactory.
2019-09-10 10:55:55 +01:00
4fb1787f1e CORDA-3200 Use PersistentIdentityMigrationBuilder instead of schema a… (#5449)
* CORDA-3200 Use PersistentIdentityMigrationBuilder instead of schema and correctly name table using node prefix

* CORDA-3200 Remove hacky test migration from PersistentIdentityMigrationNewTable into a unit test to fix postgres failure
2019-09-10 10:51:38 +01:00
7a6c18156c CORDA-2871: Sanity fixes! (#63)
* Improve message for SandboxClassLoadingException.
* Fix serialisation API for using sandboxed environment.
2019-09-09 18:14:33 +01:00
a4ab5350d0 DOCS - Updated documentation for Testnet to reflect UI changes. (#5442) 2019-09-09 17:59:41 +01:00
eece19cce0 Merge pull request #5450 from corda/tudor_merge_4.1_to_4.3
Tudor merge 4.1 to 4.3
2019-09-09 15:51:15 +01:00
ea73dcfb22 Merge branch 'release/os/4.1' into tudor_merge_4.1_to_4.3
# Conflicts:
#	node/src/test/kotlin/net/corda/node/services/vault/NodeVaultServiceTest.kt
2019-09-09 16:04:39 +03:00
3476a47378 move irs-demo to slowIntegrationTest (#5447) 2019-09-09 10:49:44 +00:00
80d64a9574 ENT-3916 - document testing CorDapp upgrades. (#5421) 2019-09-09 10:26:37 +01:00
9b04f73ee8 ENT-3924 - more evident error message when multiple versions of the same CorDapp installed (#5431) 2019-09-09 09:46:57 +01:00
d5400e514e add exception handling to handle situation where builds are tidying up same pods (#5440)
* add asterix to test name

* fix usages of System.hasProperty

* add exception handling to handle condition when Build2 is deleting pods that are being tidied up by Build1

* attempt to fix namespace issues

* add pull task to pull latest base image

* add logic to download dependencies in parallel before running tests
2019-09-06 16:48:49 +00:00
a4650b2bb3 CORDA-3187: Add -XX:+HeapDumpOnOutOfMemoryError -XX:+CrashOnOutOfMemoryError to default JVM args for node (#5432) 2019-09-06 13:49:52 +01:00
cedb290bc9 CORDA-3188: Ignore synthetic and static fields when searching for state pointers (#5439) 2019-09-06 10:25:00 +01:00
7ef9a8d2c9 Merge pull request #5438 from corda/CORDA-3054-EdP
Update dockerform task steps
2019-09-05 15:33:40 +01:00
9d6922d11e CORDA-3177 Additional Back Chain Resolution performance enhancements (#5415)
* Applied backchain fetch optimisations

* Removed test for bulk fetch

* Removed import

* Removed extraneous import

* Review comment
2019-09-05 14:27:42 +01:00
14b2882bd7 Improve docker image building to use a stable working directory (#5433)
* add docker working directory parameters to image building
remove gitSha from "stable" buildId, to allow updates to a PR to kill pods

* split up chained null checks  onto separate lines

* fail build if docker image fails to build
force reporting task to run regardless of previous inputs

* add asterix to test name

* fix usages of System.hasProperty
2019-09-05 13:23:41 +00:00
d10c74cbd0 reapply docker plugin for building corda docker images (#5437) 2019-09-05 12:02:51 +00:00
74e44eb1ee DOCS - Updated documentation for Testnet to reflect UI changes. (#5409) 2019-09-05 11:54:37 +01:00
5ff0986216 Update dockerform task steps
Signed-off-by: Ed Prosser <edward.prosser@r3.com>
2019-09-05 11:05:34 +01:00
1ac7715e28 [CORDA-2890] - Close security manager after broker is shut down (#5425) 2019-09-04 14:06:46 +01:00
a842740c9e WIP Kubenetes parallel build (#5396)
* Split integration tests

* add simple example of printing all methods annotated with @Test

* add docker plugin to root project
remove docker plugin from child projects
add Dockerfile for image to use when testing
add task to build testing image to root project

* add comment describing proposed testing workflow

* simple attempt at running tests in docker container

* add my first k8s interaction script

* add fabric8 as dependnency to buildSrc

* before adding classpath

* collect reports from containers and run through testReports

* re-enable kubes backed testing

* for each project
1. add a list tests task
2. use this list tests task to modify the included tests
3. add a parallel version of the test task

* tweak logic for downloading test report XML files

* use output of parallel testing tasks in report tasks to determine build resultCode

* prepare for jenkins test

* prepare for jenkins test

* make docker reg password system property

* add logging to print out docker reg creds

* enable docker build

* fix gradle build file

* gather xml files into root project

* change log level for gradle modification

* stop printing gradle docker push passwd

* tidy up report generation

* fix compilation errors

* split signature constraints test into two

* change Sig constraint tests type hierarchy

* tidy up build.gradle

* try method based test includes

* add unit test for test listing

* fix  bug with test slicing

* stop filtering ignored tests to make the numbers match existing runs

* change log level to ensure print out

* move all plugin logic to buildSrc files

* tidy up test modification
add comments to explain what DistributedTesting plugin does

* move new plugins into properly named packages

* tidy up runConfigs

* fix compile errors due to merge with slow-integration-test work

* add system parameter to enable / disable build modification

* add -Dkubenetise to build command

* address review comments

* type safe declaration of parameters in KubesTest
2019-09-03 15:40:08 +00:00
99f4e4aac2 CORDA-3182: Added additional property on VaultQueryCriteria for querying by account (#5423)
* Added an additional property on VaultQueryCriteria to specify an externalId/accountId when performing a vault query.
Added logic in hibernate query criteria parser to handle the exernalId join and lookup.
Added a test.

* Fixed error in test.
Fixed backwards incompatible changes.

* Updated changelog.

* Updated docs to remove incorrect instructions for querying by external ID.
2019-09-03 11:55:26 +01:00
f68c4b3308 CORDA-3174: Extend serialisation to include InputStream and OpaqueBytesSubSequence. (#60)
* Update DJVM Example project for serialisation.
* Add serializers for InputStream and OpaqueBytesSubSequence.
* Support ZIP Inflater and CRC32 inside the sandbox.
* Allow the DJVM to wrap java.io.InputStream as sandbox.java.io.InputStream.
* Configure tests also to preserve @DeprecatedConstructorForDeserialization.
2019-09-03 11:35:48 +01:00
67623f04a3 CORDA-3174: Implement Corda serialization modules. (#59)
* Create DJVM serialization modules.
* Create test cases for Array<T>, List<T> and List<Array<T>>.
* Refactor SandboxPrimiveSerializer for all primitive types.
* Implement SandboxCollectionSerializer to support Collection types.
* Implement SandboxMapSerializer to support Map types.
* Attempt to fix infinite loop when computing Collection and Map fingerprints.
* Apply special handling when deserialising sandbox.java.lang.Character.
* Remap Java primitive types to sandbox Java object types to deter evolution.
* Use Class.getPackage().getName() to determine sandbox package name.
* Implement SandboxEnumSerializer to support Enum types.
* Implement SandboxPublicKeySerializer to support Java security keys.
* Add serialization projects to the composite example project.
* Implement serializers for BigInteger, BigDecimal, Currency and StringBuffer.
* Test that deserialising does not instantiate the untrusted user classes.
* Implement serializers for java.time.* types.
* Add serialiser for BitSet - currently disabled until BitSet itself is supported.
* Add serialisers for EnumSet and Class.
* Include support for EnumMap in the SandboxMapSerializer.
* Ensure the DJVM Example project's tests preserve @CordaSerializable.
* Add support for UUID as a primitive type.
* Use common abortReadOnly() method for declaring serialization as unsupported.
* Streamline the API for deserialising into the sandbox.
* Add preliminary support for deserialising X.509 certificates.
* Implement serializer for java.util.Optional.
* Refactor configuration of the sandbox serialization scheme.
* Add tests for deserialising arrays of basic types.
* Include method annotations in annotation stitching. This ensures that `@ConstructorForDeserialization` is not dropped.
* Enable test for SandboxBitSetSerializer.
* Enable tests for X.509 serializers.
* Implement serializers for ProtonJ primitive types.
* Serialize java.util.Date as a primitive type.
* Add the bintray Gradle plugin to the serialisation modules.
* Do not publish serialisation modules - they will become part of Corda itself.
2019-09-02 16:12:49 +01:00
c2057e0893 CORDA-3180: Added ability to lookup the associated UUID for a public key to KeyManagementService (#5411)
* expose identity cache to KMSinternal

* apply shams comments

* Addressed review comments.
2019-09-01 07:57:46 +01:00
cd0d5c7724 Ensure that ServiceHub.WithEntityManager has a database transaction available (#5413)
* tidy up withEntityManager

* address rick review comment

* api break
2019-08-30 15:58:50 +01:00
136600c91a CORDA-3175 Remove dependency on 3rd party javax.xml.bind library for simple hex parsing/printing. (#5412)
* Remove dependency on 2rd party javax.xml.bind library for simple hex parsing/printing.

* Added unit test.
2019-08-30 15:24:01 +01:00
6202165957 Fix for CORDA-3178. FilterMyKeys now uses the key store as opposed to the cert store. (#5418) 2019-08-30 10:55:31 +01:00
4b5a38796f [CORDA-3106] - Refine documentation around rpc reconnection (#5405) 2019-08-30 09:24:58 +01:00
3023e3ab87 [NOTICK] Expose type in CryptoService (#5416) 2019-08-30 09:22:15 +01:00
07b96aea18 CORDA-2925 Rebase identity service changes onto 4.3 (#5407)
* CORDA-2925 Rebase identity service changes onto 4.3

* CORDA-2925 Move migration to after v13

* CORDA-2925 Update schema list

* Change corda-version
2019-08-29 11:57:07 +01:00
f09bff9c0f Make concurrent updates to contractStateTypeMappings thread safe. (#5410) 2019-08-29 09:55:21 +01:00
b97062bacc [CORDA-3098] - Close previous connection after reconnection (#5339) 2019-08-28 16:44:57 +01:00
11d107dcb1 Fix typo
Added the colon. A tiny typo fix.
2019-08-28 18:35:59 +03:00
20585266a5 [NOTICK]: Change Corda version
Change Corda version
2019-08-28 15:38:36 +01:00
3a6787437d CORDA-3022 Add wildcard RPC permissions (#5174)
* Added small poc changes to accommodate requested permissions.

* Added node user that can only start flows and has the neccessary permissions.

* Fixed type in the rpc unit tests.

* Finaliase wildcard RPC permissions, remove builtin maintainer/nodeuser roles

* Tidy up
2019-08-28 15:29:06 +01:00
e35c0c1df7 CORDA-3009 - Migrate identity service to use to string short (#5217)
* migrate PersistentIdentityService to use key.toShortString()
update definition of PublicKeyToExternalId mapping to allow fast lookup by externalId/publicKey

* fix misspelled table name

* add test of migration script

* add design document for proposal to move IdentityService to using the correct PK.toStringShort() method for hashing a publickey

* add enterprise testing considerations to design

* address review comments

* fix compilation errors

* modify PublicKeyToOwningIdentityCache to use toStringShort() as it's lookup key

* address syzmon's code review comments
2019-08-28 14:16:18 +00:00
5ede8b5761 [NOTICK]: Change Corda version
Removed unnecessary comment which will just get outdated.
2019-08-28 14:35:06 +01:00
c525f77ae9 [NOTICK]: Change Corda version
Changed Corda version in places where it was missed.
2019-08-28 14:14:39 +01:00
7f89577f83 [NOTICK]: Update to Contract Extension Error Message
Update to Contract Extension Error Message
2019-08-28 13:16:58 +01:00
bbadec70ba [NOTICK]: Change Corda version
Change Corda version from 5.0-SNAPSHOT to 4.3-SNAPSHOT to reflect the next version of Corda to be released.

Multi-line description of commit,
feel free to be detailed.
2019-08-28 12:59:18 +01:00
bbf1d6351e Merge OS 4.1 into OS 4.3
Merge OS 4.1 into OS 4.3
2019-08-28 07:06:08 +01:00
122bf3b3e0 Merge OS 4.1 into OS 4.3
Corrected changelog
Corrected irs-demo cordapp build.gradle file - removed unnecessary dependency

feel free to be detailed.
2019-08-27 16:21:47 +01:00
35d0170b0a Merge branch 'master' into jlocke/merge_4.1_20190827 2019-08-27 15:21:21 +01:00
f96105a014 CORDA-3157: Modify Corda's custom serialiser support for the DJVM.
Modify Corda's custom serialiser support for the DJVM.
2019-08-27 15:20:38 +01:00
9661f8d4e4 Merge OS 4.1 into OS 4.3
Fixed missed conflict in conf.py
2019-08-27 14:56:08 +01:00
e5f314ffbf Merge branch 'release/4' into jlocke/merge_4.1_20190827
Merged release/4 (Corda OS version 4.1) into a branch created from master (Corda OS version 4.3)

Conflicts:
	build.gradle
	client/rpc/src/main/kotlin/net/corda/client/rpc/internal/ReconnectingCordaRPCOps.kt
	common/logging/build.gradle
	common/logging/src/main/kotlin/net/corda/common/logging/CordaVersion.kt
	constants.properties
	core-tests/src/test/kotlin/net/corda/coretests/utilities/ProgressTrackerTest.kt
	core/src/main/kotlin/net/corda/core/transactions/TransactionBuilder.kt
	docs/source/api-contract-constraints.rst
	docs/source/api-stability-guarantees.rst
	docs/source/app-upgrade-notes.rst
	docs/source/changelog.rst
	docs/source/clientrpc.rst
	docs/source/conf.py
	docs/source/corda-network/UAT.md
	docs/source/getting-set-up.rst
	docs/source/network-builder.rst
	docs/source/upgrading-cordapps.rst
	docs/source/versioning.rst
	node/src/integration-test/kotlin/net/corda/node/services/rpc/RpcReconnectTests.kt
	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/PropertyDescriptor.kt
	serialization/src/main/kotlin/net/corda/serialization/internal/model/LocalTypeInformationBuilder.kt
	tools/network-builder/src/main/resources/node-Dockerfile
	tools/network-builder/src/main/resources/notary-Dockerfile
2019-08-27 14:51:22 +01:00
90284a6143 CORDA-2919: JacksonSupport, for CordaSerializable classes, improved to only uses those properties that are part of Corda serialisation (#5397) 2019-08-27 13:06:28 +01:00