Commit Graph

198 Commits

Author SHA1 Message Date
Shams Asari
f30ba33929 ENT-11255: Scan attachments to determine if they are Kotlin 1.2 or later
The node now sends a transaction to the verifier if any of its attachments were compiled with Kotlin 1.2 (the net.corda.node.verification.external system property has been removed). It uses kotlinx-metadata to read the Kotlin metadata in the attachment to determine this. For now this scanning is done each time the attachment is loaded from the database.

The existing external verification integration tests were converted into smoke tests so that 4.11 nodes could be involved. This required various improvements to NodeProcess.Factory. A new JAVA_8_HOME environment variable, pointing to JDK 8, is required to run these tests.

There is still some follow-up work that needs to be done:

Sending transactions from a 4.11 node to a 4.12 node works, but not the other way round. A new WireTransaction component group needs to be introduced for storing 4.12 attachments so that they can be safely ignored by 4.11 nodes, and the 4.12 node needs to be able to load both 4.11 and 4.12 versions of the same contracts CorDapp so that they can be both attached to the transaction.
Even though attachments are cached when retrieved from the database, the Kotlin metadata version should be stored in the attachments db table, rather than being scanned each time.
Finally, VerificationService was refactored into NodeVerificationSupport and can be passed into SignedTransaction.verifyInternal, instead of needing the much heavier VerifyingServiceHub. This makes it easier for internal tools to verify transactions and spawn the verifier if necessary.
2024-01-22 11:31:51 +00:00
Jose Coll
b47d5ec5c7 Merge branch 'release/os/4.12' into merge-release/os/4.11-release/os/4.12-2023-12-15-79 2023-12-19 08:46:52 +00:00
Ronan Browne
18d98760b1
Merge branch 'release/os/4.9' into merge-release/os/4.8-release/os/4.9-2023-11-19-6 2023-11-19 19:56:09 +00:00
Adel El-Beik
548242e3cd
Merge branch 'release/os/4.8' into merge-release/os/4.7-release/os/4.8-2023-11-17-6 2023-11-18 18:10:07 +00:00
Connel McGovern
5b846406c8
ES-1331: Enable Gradle Enterprise build scans & remote caching (#7574)
* ES-1131: Enable Gradle Enterprise build scans & remote caching
2023-11-17 17:41:45 +00:00
Arshad Mahmood
6dd33fb8f7 Upgrade to gradle 7.6, kotlin 1.8 and jdk 17
Major changes due to JDK 17:
1. JDK17 JCE Provider now has built-in support for eddsas, corda uses
   the bouncycastle (i2p) implementation. This PR removes the conflicting
   algorithms from the built-in JCE provider.

2. JavaScript scripting has been removed from the JDK, the corda log4j config was using
   scripting to conditionally output additional diagnostic info if the MDC
   was populated. This PR has removed the scripting.

3. The artifactory plug-ins used are now deprecated, this PR has removed them
   and uses the same code as Corda 5 for publishing to artifactory.

4. Javadoc generation has been modified to use the latest dokka plug-ins.

5. Gradle 7.6 has implemented an incredibly annoying change where transitive
   dependencies are not put on the compile classpath, so that they have to be
   explicitly added as dependencies to projects.

6. Mockito has been updated, which sadly meant that quite a few source files
   have to changes to use the new (org.mockito.kotlin) package name. This makes
   this PR appear much larger than it is.

7. A number of tests have been marked as ignored to get a green, broadly they fall
   into 3 classes.

   The first is related to crypto keypair tests, it appears some logic
   in the JDK prefers to use the SunJCE implementation and we prefer to use
   bouncycastle. I believe this issue can be fixed with better test setup.

   The second group is related to our use of a method called "uncheckedCast(..)",
   the purpose of this method was to get rid of the annoying unchecked cast compiler
   warning that would otherwise exist. It looks like the Kotlin 1.9 compiler type
   inference differs and at runtime sometimes the type it infers is "Void" which causes
   an exception at runtime. The simplest solution is to use an explicit cast instead of
   unchecked cast, Corda 5 have removed unchecked cast from their codebase.

   The third class are a number of ActiveMQ tests which appear to have a memory leak somewhere.
2023-11-06 10:24:17 +00:00
Waldemar Zurowski
849f8666a6 INFRA-1804: Merging forward updates from release/os/4.7 to release/os/4.8 2023-08-30 16:40:20 +01:00
Waldemar Zurowski
5daa091fdc INFRA-1804: Merging forward updates from release/os/4.6 to release/os/4.7 2023-08-30 14:30:31 +01:00
Waldemar Żurowski
00b1f3d2c7
INFRA-1804: revert back to standard agent (#7463)
* Snyk binaries have been already incorporated into standard Jenkins
agent
2023-08-30 15:28:29 +02:00
Ronan Browne
306951c97d
ES-657: add auto import and snyk scanning for c4 corda community docker images (#7415) 2023-07-17 18:27:28 +01:00
Ronan Browne
befae353ac ES-853: Merging forward updates from 4.8 to 4.9 (2023-07-13) 2023-07-13 15:25:55 +01:00
Ronan Browne
6bcc843f19 ES-853: Merging forward updates from 4.7 to 4.8 (2023-07-13) 2023-07-13 07:07:17 +01:00
Ronan Browne
010a9a6c08 ES-853: Merging forward updates from 4.6 to 4.7 (2023-07-12) 2023-07-12 20:02:32 +01:00
Ronan Browne
33df909cee
ES-757: update paramater in line with latest shared lib change (#7417) 2023-07-12 20:01:56 +01:00
Ronan Browne
9dd0bd8509
ES-757: ensure correct method is called with extra paramater 2023-07-11 13:11:02 +01:00
Ronan Browne
5e3ee980b3 INFRA-2040: Merging forward updates from 4.7 to 4.8 (2023-07-05) 2023-07-05 20:54:02 +01:00
Ronan Browne
56c6eb42ef
ES-757: remove extra paramater (#7403) 2023-07-05 16:28:51 +01:00
Ronan Browne
6b1a2cb027
ES-839: Disable Internal docker publishing for 4.7 ( only supported post 4.9 pacthes) (#7410)
* ES-839: Disable Docker publishing for 4.7
* ES-839: remove broken repo
2023-07-05 16:28:08 +01:00
Ronan Browne
1dc94b438c INFRA-2040: Merging forward updates from 4.6 to 4.7 (2023-06-23) 2023-06-23 20:50:53 +01:00
Ronan Browne
01ead5376b
ES-758: add corda remotes env vars to Jenkins logic (#7400)
* ES-758: add corda remotes

* ES-758: add corda remotes
2023-06-23 20:46:36 +01:00
Connel McGovern
2246c94fd5
ES-562: Updating .snyk YAML indentation & updating modules to scan on Snyk nightly (#7385)
* NOTICK: Correct Yaml whitespace
* Update JenkinsfileSnykScan Snyk modules
* Correcting YAML indentation
* NOTICK: Update reges to match ES Jira tickets
* Removing bridge/bridgecapsule from main release branch CI pipeline
2023-06-06 17:08:19 +01:00
Connel McGovern
596b51c2fd Removing bridge/bridgecapsule from main release branch CI pipeline 2023-06-06 16:59:15 +01:00
Connel McGovern
51fc4910cc Removing bridge/bridgecapsule from main release branch CI pipeline 2023-06-06 16:43:28 +01:00
Ronan Browne
5db96e679c use correct agent 2023-04-21 08:43:29 +01:00
Connel McGovern
519ae9ab81 INFRA-1955: Merging forward from 4.8 to 4.9 2023-03-15 10:48:53 +00:00
Connel McGovern
a32b6483a4 INFRA-1955: Correcting post stage formatting 2023-03-14 17:06:20 +00:00
Connel McGovern
e83de1adf6 INFRA-1955: Merging forward from 4.7 to 4.8 2023-03-14 17:00:56 +00:00
Connel McGovern
5a43cfb0cb
INFRA-1955: Remove duplicate 'Snyk Security' stage (#7310) 2023-03-14 16:44:18 +00:00
Connel McGovern
1dbd5147e5 INFRA-1955: Remove duplicate 'Snyk Security' stage 2023-03-14 14:47:42 +00:00
Connel McGovern
34d7c154a9 INFRA-1955: Merging forward from 4.6 to 4.7 2023-03-14 14:40:55 +00:00
Connel McGovern
7e908bb939 INFRA-1955: Merging forward from 4.5 to 4.6 2023-03-14 14:08:35 +00:00
Connel McGovern
81b694f40a INFRA-1804 - Use use latest AMI with snyk binaries 2023-03-14 11:53:46 +00:00
Connel McGovern
3180962640 INFRA-1919 - [C4 Automation] The output of the Git log between the RCs 2023-03-14 11:52:55 +00:00
Connel McGovern
5c68bc89e2 INFRA-2014 - Appy licence generation to C4 Community tag builds 2023-03-14 11:51:14 +00:00
Connel McGovern
9a4ea9c652 INFRA-2038 - Remove Nexus dependency from C4 Community builds 2023-03-14 11:41:20 +00:00
Jan Szkaradek
6f32d3d369
added modules for snyk scanning (#7231) 2022-09-02 14:17:53 +02:00
Jan Szkaradek
19c8dd5cfb
added modules for snyk scanning (#7232) 2022-09-02 14:17:31 +02:00
Jan Szkaradek
cb42ae2980
added modules for snyk scanning (#7233) 2022-09-02 14:17:03 +02:00
Jan Szkaradek
ea9f29e0bd
added modules for snyk scanning (#7234) 2022-09-02 14:16:39 +02:00
Jan Szkaradek
c89ce8e29d
added modules for snyk scanning (#7235) 2022-09-02 14:16:11 +02:00
ronanbrowne88
8cf512e6e5 CORE-4769 add snyk scan open source 4.4 2022-07-27 21:41:25 +01:00
ronanbrowne88
8644ab38ff INFRA-1805 add snyk scanning to corda os 4.4 2022-07-27 21:40:44 +01:00
ronanbrowne88
d757682291 CORE-4769 add snyk scan open source 4.4 2022-07-27 12:49:53 +01:00
ronanbrowne88
b1afd88f13 INFRA-1805 add snyk scanning to corda os 4.4 2022-07-27 12:48:39 +01:00
ronanbrowne88
9425bb5c19 INFRA-1697 minor tidy up 2022-07-26 18:15:01 +01:00
ronanbrowne88
e4a19f4622 INFRA-1805 add snyk scanning to corda os 4.4 2022-07-26 18:11:51 +01:00
ronanbrowne88
cd577afcd9 CORE-4769 add snyk scan open source 4.4 2022-07-26 16:06:05 +01:00
ronanbrowne88
121e67aa11 INFRA-1805 add snyk scanning to corda os 4.4 2022-07-26 16:06:05 +01:00
ronanbrowne88
e35b755546 CORE-4769 add snyk scan open source 4.4 2022-07-11 22:01:25 +01:00
ronanbrowne88
d669d39e64 INFRA-1805 add snyk scanning to corda os 4.4 2022-07-10 19:33:37 +01:00