Corda is an open source blockchain project, designed for business from the start. Only Corda allows you to build interoperable blockchain networks that transact in strict privacy. Corda's smart contract technology allows businesses to transact directly, with value.
Go to file
Viktor Kolomeyko 835321bb70
ENT-6286: OS: Upgrade version of Artemis to 2.19.1 (#6975)
Fixes DDoS attack mentioned on the Jira ticket.

PR upgrades Artemis library to version 2.19.1.
This is our own release of Apache Artemis library which has vulnerability fix for v2.20 applied.

**_Breaking changes discovered during Artemis upgrade:_**
1. When the queue is created as temporary, it needs to explicitly be specified as non-durable.
2. By default, Artemis Client performs Host DNS name check against the certificate presented by the server. Our TLS certificates fail this check and this verification has to be explicitly disabled, see use of: `TransportConstants.VERIFY_HOST_PROP_NAME`.
3. Artemis Server now caches login attempts, even unsuccessful ones. When we add RPC users dynamically via DB insert this may have an unexpected outcome if the user with the same `userName` and `password` was not available previously.
To workaround permissions changing dynamically, authorization and authentication caches had to be disabled.
4. When computing `maxMessageSize`, the size of the headers content is now taken into account as well.
5. Artemis handling of start-up errors has changed. E.g. when the port is already bound.
6. A number of deprecated APIs like: `createTemporaryQueue`, `failoverOnInitialAttempt`, `NullOutputStream`, `CoreQueueConfiguration`.
7. Log warning message is produced like: `AMQ212080: Using legacy SSL store provider value: JKS. Please use either 'keyStoreType' or 'trustStoreType' instead as appropriate.`
8. As reported by QA, Artemis now produces more audit logging more details [here](https://r3-cev.atlassian.net/browse/ENT-6540). Log configuration been adjusted to reduce such output.
2022-01-21 09:18:14 +00:00
.ci ENT-6426: update docker tagging inline with our dockerhub policies (#7027) 2022-01-19 10:34:35 +00:00
.github NOTICK: added newly introduced input (#6940) 2021-08-05 20:18:41 +02:00
.idea Merge remote-tracking branch 'origin/release/os/4.3' into my_merge_branch 2019-11-04 17:48:15 +00:00
buildSrc INFRA-803 Rebuild Docker image tasks (#6804) 2020-11-20 10:21:53 +00:00
client ENT-6286: OS: Upgrade version of Artemis to 2.19.1 (#6975) 2022-01-21 09:18:14 +00:00
common Revert "ENT-6494: Upgrade log4j to 2.17.0 (#6998)" 2022-01-05 15:37:25 +01:00
confidential-identities Merge branch 'release/os/4.4' into chrisr3-44-merge 2020-03-04 16:27:44 +00:00
config ENT-6286: OS: Upgrade version of Artemis to 2.19.1 (#6975) 2022-01-21 09:18:14 +00:00
core Merge branch 'release/os/4.8' into chrisr3-os48-merge 2022-01-17 11:02:11 +00:00
core-deterministic ENT-6357: Deserialize LedgerTransaction elements for each Contract.verify(). (#6962) 2021-11-10 16:38:40 +00:00
core-tests ENT-6357: Deserialize LedgerTransaction elements for each Contract.verify(). (#6962) 2021-11-10 16:38:40 +00:00
detekt-plugins NOTICK: Update Gradle files for DeteKt plugins. (#5970) 2020-02-16 08:21:05 +00:00
docker ENT-6426: update docker tagging inline with our dockerhub policies (#7027) 2022-01-19 10:34:35 +00:00
docs NOTICK Fix URL for BouncyCastle Javadocs (#6900) 2021-04-23 17:50:20 +01:00
experimental NOTICK: Fix some Gradle technical debt. (#6430) 2020-07-07 09:08:58 +01:00
finance restored cash changelog v1 to its original state (#6822) 2020-11-27 12:16:50 +00:00
gradle/wrapper CORDA-3892: Upgrade to Gradle 5.6.4 again, with build fixes. (#6448) 2020-07-08 11:34:25 +01:00
isolated CORDA-2893 Upgrade Corda to use Gradle 5.4.1 (Take 2) (#5137) 2019-05-20 14:26:42 +01:00
jdk8u-deterministic NOTICK: Avoid configuring more tasks in the deterministic modules. (#6452) 2020-07-13 10:33:23 +01:00
lib Fix new integration tests to not use hibernate schema modification. 2020-08-03 18:50:36 +01:00
node ENT-6286: OS: Upgrade version of Artemis to 2.19.1 (#6975) 2022-01-21 09:18:14 +00:00
node-api ENT-6286: OS: Upgrade version of Artemis to 2.19.1 (#6975) 2022-01-21 09:18:14 +00:00
node-api-tests CORDA-3979: Support for multiple trust roots (#6772) 2020-10-20 12:18:00 +03:00
release-tools CORDA-3017 - Fix release tooling when product name != jira project (#5229) 2019-06-21 09:28:07 +01:00
samples Merge branch 'release/os/4.7' into wz/merge-os-47-48-2022-01-12 2022-01-12 09:52:52 +01:00
serialization ENT-6357: Deserialize LedgerTransaction elements for each Contract.verify(). (#6962) 2021-11-10 16:38:40 +00:00
serialization-deterministic ENT-6357: Deserialize LedgerTransaction elements for each Contract.verify(). (#6962) 2021-11-10 16:38:40 +00:00
serialization-djvm ENT-6357: Deserialize LedgerTransaction elements for each Contract.verify(). (#6962) 2021-11-10 16:38:40 +00:00
serialization-tests CORDA-4076: Fix SecureHash compatibility with previous versions (#6801) 2020-11-12 09:39:57 +00:00
testing ENT-6286: OS: Upgrade version of Artemis to 2.19.1 (#6975) 2022-01-21 09:18:14 +00:00
tools ENT-6373: Write the object into the write exit event instead of null (#4320) (#7033) 2022-01-19 15:58:51 +00:00
.dockerignore WIP Kubenetes parallel build (#5396) 2019-09-03 15:40:08 +00:00
.gitignore INFRA-505: Move integration tests to unit tests (#6530) 2020-08-06 15:16:27 +01:00
build.gradle ENT-6286: OS: Upgrade version of Artemis to 2.19.1 (#6975) 2022-01-21 09:18:14 +00:00
BUILD.md add a shared memory port allocator to allow multiple processes to sha… (#5223) 2019-07-02 18:38:33 +00:00
buildCacheSettings.gradle Explicitly disable remote gradle build cache when building locally. (#4095) 2018-10-19 16:40:06 +01:00
constants.properties Revert "Updated classgraph version" 2022-01-05 15:35:30 +01:00
CONTRIBUTING.md Combines all contributing info in one place. Clean-up. (#4266) 2018-11-20 18:17:11 +00:00
CONTRIBUTORS.md EG-4168 Updating contributors.md list for OS 4.7 release branch (#6782) 2020-10-22 22:52:11 +01:00
detekt-baseline-config.yml TM-45 Make detektBaseline pass (#5561) 2019-10-15 15:49:31 +01:00
detekt-baseline.xml ENT-6286: OS: Upgrade version of Artemis to 2.19.1 (#6975) 2022-01-21 09:18:14 +00:00
detekt-config.yml [NOTICK] - Enable check in detekt for unused imports (#6106) 2020-03-26 15:46:33 +00:00
deterministic.gradle NOTICK: Avoid configuring more tasks in the deterministic modules. (#6452) 2020-07-13 10:33:23 +01:00
gradle.properties INFRA-424: Merge openj9 updates into 4.6 (#6683) 2020-09-02 14:35:30 +01:00
gradlew CORDA-3892: Upgrade Gradle 5.4.1 -> 5.6.4. (#6435) 2020-07-07 09:07:55 +01:00
gradlew.bat CORDA-3892: Upgrade Gradle 5.4.1 -> 5.6.4. (#6435) 2020-07-07 09:07:55 +01:00
java8.gradle NOTICK: Fix some Gradle technical debt. (#6430) 2020-07-07 09:08:58 +01:00
Jenkinsfile NOTICK: Merging forward updates from OS 4.4 to OS 4.5 2021-06-03 12:10:34 +02:00
LICENSE Use full Apache 2.0 license so GitHub recognizes it 2019-08-23 12:24:37 +02:00
README.md Update README.md (#6144) 2020-04-09 15:31:19 +01:00
SECURITY.md CORDA-2958 Security policy for corda 2019-06-03 10:38:13 +02:00
settings.gradle ENT-6378 Migrate corda-shell to external repo (#7005) 2022-01-12 11:54:18 +00:00
sizing.sh add a shared memory port allocator to allow multiple processes to sha… (#5223) 2019-07-02 18:38:33 +00:00
TRADEMARK Updated URL link to R3 trademark policy 2017-07-13 11:43:41 +01:00

Corda

License

Corda

Corda is an open source blockchain project, designed for business from the start. Only Corda allows you to build interoperable blockchain networks that transact in strict privacy. Corda's smart contract technology allows businesses to transact directly, with value.

Features

  • Smart contracts that can be written in Java and other JVM languages
  • Flow framework to manage communication and negotiation between participants
  • Peer-to-peer network of nodes
  • "Notary" infrastructure to validate uniqueness and sequencing of transactions without global broadcast
  • Enables the development and deployment of distributed apps called CorDapps
  • Written in Kotlin, targeting the JVM

Getting started

  1. Read the Getting Started documentation
  2. Run the Example CorDapp
  3. Read about Corda's Key Concepts
  4. Follow the Hello, World! tutorial

Contributing

Corda is an open-source project and contributions are welcome!

To find out how to contribute, please see our contributing docs.

License

Apache 2.0

Acknowledgements

YourKit

YourKit supports open source projects with its full-featured Java Profiler.

YourKit, LLC is the creator of YourKit Java Profiler and YourKit .NET Profiler, innovative and intelligent tools for profiling Java and .NET applications.