Commit Graph

9358 Commits

Author SHA1 Message Date
Dan Newton
56c9d6404f
ENT-6378 Migrate corda-shell to external repo (#7005)
Remove the shell code from the OS code base, this includes the modules:

- `:tools:shell`
- `:tools:shell-cli`

The shell will be run within a node if it exists within the node's `drivers` directory. 

This is done by using a `URLClassloader` to load the `InteractiveShell` class into Corda's JVM process and running `startShell` and `runLocalShell`.

Running the shell within the `:samples` will require adding:

```
cordaDriver "net.corda:corda-shell:<corda_shell_version>"
```

To the module's `build.gradle` containing `deployNodes`. The script will then include the shell in the created nodes.
2022-01-12 11:54:18 +00:00
Viktor Kolomeyko
78aed771b2
NOTICK: Change repository for ghostdriver library (#7015)
Since SCI Java repository is no longer available, the library has been copied to the internal `corda-dependencies` repository.
2022-01-11 12:57:20 +00:00
Dan Newton
f2b3db9c7b
ENT-6315 Allow dumping of paused flows (#7008)
Checkpoint dumping of paused flows was not working because the dumper
expects a flow to have a `FlowState` of `Unstarted` or `Started`,
however due to a memory optimisation paused flows have their `FlowState`
set to `Paused`. This was causing causing an exception as well as a loss
of potentially useful information.

A flag `alwaysDeserializeCheckpoint` has been added to
`Checkpoint.Serialized.deserialize` which skips the memory optimisation
and forces the deserialization of the flow's `FlowState`.

Paused flows are now included in the dumped output along with their real
`FlowState` which is useful to users even if the flow is paused rather
than waiting for something to complete.

The status of the flow has also been added to the JSON output to assist
users in debugging their flows.
2022-01-11 10:22:49 +00:00
Dan Newton
044202550d
ENT-6421 Public version of FlowManagerRPCOps (#7006)
A public version of `FlowManagerRPCOps` which does not live in an
internal package has been added. This new interface shares the same name
as the internal one.

Because of the name sharing, the internal version has been
`@Deprecated`.

`FlowManagerRPCOpsImpl` implements both the new and old interfaces. This
 allows for backwards compatibility, allowing old shells or clients to
 call the old interface on newer nodes without breaking.
2022-01-07 16:40:29 +00:00
Viktor Kolomeyko
df5604874b
ENT-6388: Update Crash shell to version 1.7.5 (#7004)
This is a newly built internal version of the library which in particular upgrades `org.apache.mina:mina-core` to version `2.0.22` eliminating NexusIQ vulnerability.
2022-01-06 13:46:58 +00:00
nargas-ritu
f4a022ddce NOTICK: New branch for Corda OS 4.9 2022-01-04 12:33:03 +00:00
Walter Oggioni
efaf1549a9
CORDA-4173 Obfuscated zib bombs used for unit tests, so that antivirus software stop complaining about them (#6989) 2021-12-21 14:08:02 +00:00
Adel El-Beik
65bba87741
ENT-6494: Upgraded log4j to 2.17.0 (#6993) 2021-12-21 11:26:52 +00:00
Adel El-Beik
2c01816353
ENT-6494: Upgrade log4j again. (#6990) 2021-12-15 22:21:49 +01:00
Adel El-Beik
094455571f
ENT-6494: Upgrade log4j (#6988) 2021-12-14 12:24:38 +00:00
Viktor Kolomeyko
505ade9c86
ENT-6388: Eliminate usage of Mina's ConcurrentHashSet (#6977)
* ENT-6388: Eliminate usage of Mina's `ConcurrentHashSet`

* ENT-6388: Restrict to `MutableSet<ScheduledStateRef>`
2021-12-02 13:24:11 +00:00
Kyriakos Tharrouniatis
3cbfb0e024
ENT-6355 Empty flow arguments on error transition (#4307)
A user passed in a `FlowLogic` as an argument into another `FlowLogic`
called `subFlow` on it and had it throw an exception.

This all occurred before the first checkpoint, causing the state machine
to try and persist a FAILED checkpoint containing the flow's arguments.
Because the arguments contained a `FlowLogic` that had been started via
`subFlow` it held a reference to `FlowLogic._stateMachine` which cannot
be serialized.

This caused the flow to fail when trying to persist the fact that it
failed.

The flow arguments are now emptied during `ErrorFlowTransition` to
resolve this issue which mimics the behaviour of the first suspend.
Note, this only takes the arguments out of the serialized checkpoint, it
does not affect the flow metadata and therefore a flow's arguments can
still be viewed.

Co-authored-by: Dan Newton <dan.newton@r3.com>
2021-12-01 14:57:30 +00:00
Chris Rankin
e93e7c2846
ENT-6412: Upgrade ClassGraph 4.8.90 -> 4.8.135. (#6973) 2021-11-23 09:43:41 +00:00
Dimos Raptis
18333b4860
Upgrade netty version (#6974) 2021-11-19 14:22:01 +00:00
Chris Rankin
caeafb8201
ENT-6357: Deserialize LedgerTransaction elements for each Contract.verify(). (#6962)
* ENT-6357: Deserialize LedgerTransaction elements for each Contract.verify().

* Lock the LedgerTransaction and NetworkParameters objects down for contract verification.

* Refactor BasicVerifier to be package private instead of public.

* Simplify verifyConstraints() operation.

* Review fixes: replace HashSet with LinkedHashSet, and add signing parties to commands via mapIndexed.

* Ensure tests also run notary nodes "out of process".

* Streamline SerializationContext switching.

* Cache deserialised cryptographic instances during contract verification.

* Invoke Class.forName() instead of ClassLoader.loadClass() to reduce contention on the system classloader's lock.

* Deserialization cache key now pre-computes its hash code.

* Allow AttachmentsClassLoader to be used concurrently.

* Cache all Envelope objects for reuse during contract verification.

* Generate CertPathProxy hash code using conventional algorithm.

* Adjust CustomSerializer.Proxy to allow better access to SerializationContext.
2021-11-10 16:38:40 +00:00
Dimos Raptis
b0889e0201
ENT-6374 - Fix slf4j warning in trader-demo (#6971) 2021-10-18 11:59:51 +01:00
Walter Oggioni
883e794853
ENT-6330 Fixed reading jar entries in memory (#6960)
* ENT-6330 Fixed reading jar entries in memory

This is a trivial fix that is however enough to allow to send zip bombs as attachments without the node crashing, a size limit could be added for increased reliability

* added attachment cumulative size check

* added compression ratio check

* added unit test and moved the code to a standalone verifier object

* removed attachment check from AttachmentClassLoader to minimize performance impact
2021-10-13 09:46:20 +01:00
Ramzi El-Yafi
9146228b0f
NAAS-295 Fix notary flow retries after ETA message sent (#6965) 2021-10-04 17:37:22 +01:00
Dimos Raptis
84000e0794
ENT-3644: Upgrade Netty (#6957) 2021-09-15 08:52:14 +01:00
Viktor Kolomeyko
e50f508c2c
ENT-6331: Disable AMQP protocol for Artemis RPC broker (#6956)
Also tidy-up visibility scope of internal constants.
2021-09-14 10:58:02 +01:00
Waldemar Żurowski
943cf0b32f
Merge pull request #6946 from corda/wz/merge-os-47-48-2021-08-06
NOTICK: Merging forward updates from OS 4.7 to OS 4.8
2021-08-06 21:53:18 +02:00
Waldemar Zurowski
d0e8e2d8c2 Merge branch 'release/os/4.7' into wz/merge-os-47-48-2021-08-06 2021-08-06 20:22:40 +02:00
Waldemar Żurowski
18541019e4
Merge pull request #6945 from corda/wz/merge-os-46-47-2021-08-06
NOTICK: Merging forward updates from OS 4.6 to OS 4.7
2021-08-06 20:19:00 +02:00
Waldemar Zurowski
b7560b9793 Merge branch 'release/os/4.6' into wz/merge-os-46-47-2021-08-06 2021-08-06 19:50:58 +02:00
Waldemar Żurowski
9d6614aac9
Merge pull request #6944 from corda/wz/merge-os-45-46-2021-08-06
NOTICK: Merging forward updates from OS 4.5 to OS 4.6
2021-08-06 19:50:15 +02:00
Waldemar Zurowski
5017885b0f Merge branch 'release/os/4.5' into wz/merge-os-45-46-2021-08-06 2021-08-06 19:23:51 +02:00
Waldemar Żurowski
fcd30f554f
Merge pull request #6943 from corda/wz/merge-os-44-45-2021-08-06
NOTICK: Merging forward updates from OS 4.4 to OS 4.5
2021-08-06 19:20:16 +02:00
Waldemar Zurowski
4e4ef3691f Merge branch 'release/os/4.4' into wz/merge-os-44-45-2021-08-06 2021-08-06 17:50:27 +02:00
Waldemar Żurowski
133af149e0
Merge pull request #6942 from corda/wz/merge-os-43-44-2021-08-06
NOTICK: Merging forward updates from OS 4.3 to OS 4.4
2021-08-06 17:45:29 +02:00
Waldemar Zurowski
c1d5038d16 Merge branch 'release/os/4.3' into wz/merge-os-43-44-2021-08-06 2021-08-06 15:43:12 +02:00
Waldemar Żurowski
16fdc289d7
INFRA-1549: added SCIJAVA repo (#6939)
* `com.github.detro:ghostdriver` is gone from repositories configured
  already
* SCI Java public repo has it, and it is configured to resolve
  `com.github.detro` group only
2021-08-05 20:19:16 +02:00
Waldemar Żurowski
70c94adc1d
NOTICK: added newly introduced input (#6940)
see https://github.com/corda/jira-create-issue-action/pull/8
2021-08-05 20:18:41 +02:00
Waldemar Żurowski
bf9d0212d9
Merge pull request #6938 from corda/wz/merge-os-47-48-2021-07-27
NOTICK: Merging forward updates from OS 4.7 to OS 4.8 (2021-07-27)
2021-07-28 10:03:29 +02:00
Waldemar Zurowski
646fc9678f Merge branch 'release/os/4.7' into wz/merge-os-47-48-2021-07-27 2021-07-27 17:15:01 +02:00
Waldemar Żurowski
5d38669b31
Merge pull request #6937 from corda/wz/merge-os-46-47-2021-07-27
NOTICK: Merging forward updates from OS 4.6 to OS 4.7 (2021-07-27)
2021-07-27 17:10:05 +02:00
Waldemar Zurowski
6b1faeb25e Merge branch 'release/os/4.6' into wz/merge-os-46-47-2021-07-27 2021-07-27 14:16:32 +02:00
Waldemar Żurowski
b7b597e8be
Merge pull request #6936 from corda/wz/merge-os-45-46-2021-07-26
NOTICK: Merging forward updates from OS 4.5 to OS 4.6 (2021-07-27)
2021-07-27 11:07:29 +02:00
Waldemar Zurowski
64de942752 Merge branch 'release/os/4.5' into wz/merge-os-45-46-2021-07-26
Conflicts:
	build.gradle
2021-07-27 07:33:25 +02:00
Waldemar Żurowski
6b3c8b5868
Merge pull request #6935 from corda/wz/merge-os-44-45-2021-07-26
NOTICK: Merging forward updates from OS 4.4 to OS 4.5 (2021-07-26)
2021-07-26 18:28:12 +02:00
Waldemar Zurowski
5d27c62510 Merge branch 'release/os/4.4' into wz/merge-os-44-45-2021-07-26
Conflicts:
	build.gradle
2021-07-26 09:29:43 +02:00
Waldemar Żurowski
b4a07dce55
Merge pull request #6934 from corda/wz/merge-os-43-44-2021-07-23
NOTICK: Merging forward updates from OS 4.3 to OS 4.4 (2021-07-23)
2021-07-24 22:49:12 +02:00
Waldemar Zurowski
bb5eb6f93d Merge branch 'release/os/4.3' into wz/merge-os-43-44-2021-07-23 2021-07-23 13:23:09 +02:00
Waldemar Żurowski
f82f6f9b65
NOTICK: remote obsolete Maven repository for Kotlin in Bintray (#6933) 2021-07-23 11:10:21 +02:00
Waldemar Żurowski
08a3c73596
Merge pull request #6932 from corda/wz/merge-os-46-47-2021-07-19
NOTICK: Merging forward updates from OS 4.6 to OS 4.7 (2021/07/19)
2021-07-19 22:21:57 +02:00
Waldemar Żurowski
eb5e5918b9
Merge pull request #6931 from corda/wz/merge-os-46-47-2021-07-19
NOTICK: Merging forward updates from OS 4.6 to OS 4.7 (2021/07/19)
2021-07-19 22:18:09 +02:00
Waldemar Zurowski
ad83074e6d NOTICK: Merging forward updates from OS 4.6 to OS 4.7 (2021/07/19) 2021-07-19 22:14:03 +02:00
Waldemar Żurowski
0873996efa
Merge pull request #6930 from corda/wz/merge-os-45-46-2021-07-19
NOTICK: Merging forward updates from OS 4.5 to OS 4.6 (2021/07/19)
2021-07-19 22:12:27 +02:00
Waldemar Zurowski
f3065b81b5 NOTICK: Merging forward updates from OS 4.5 to OS 4.6 (2021/07/19)
Conflicts:
	samples/irs-demo/build.gradle
2021-07-19 22:07:31 +02:00
Waldemar Żurowski
2d72d2e67f
Merge pull request #6929 from corda/wz/merge-os-44-45-2021-07-19
NOTICK: Merging forward updates from OS 4.4 to OS 4.5 (2021/07/19)
2021-07-19 22:02:24 +02:00
Waldemar Zurowski
c60f72d927 NOTICK: Merging forward updates from OS 4.4 to OS 4.5 (2021/07/19) 2021-07-19 21:56:48 +02:00