Commit Graph

1909 Commits

Author SHA1 Message Date
Tudor Malene
4b3a77b5cb
attempt to fix db integration tests (#350) 2018-01-12 18:38:20 +00:00
Andrius Dagys
219d6f8b12 Un-ignore several integration tests 2018-01-12 18:19:02 +00:00
Tudor Malene
e7cc38cf1b
ENT-1330: Liquibase migration generation tool (#339)
* [ENT-1330]: Tool to generate migration files for CorDapps

* [ENT-1330]: cleanups

* [ENT-1330]: cleanups

* [ENT-1330]: added test to check if a migration file is properly generated and picked up
2018-01-12 09:53:42 +00:00
Shams Asari
c71ef3139b Merge remote-tracking branch 'open/master' into shams-os-merge-120118
# Conflicts:
#	core/src/main/kotlin/net/corda/core/schemas/CommonSchema.kt
#	node-api/src/main/kotlin/net/corda/nodeapi/internal/network/NetworkMap.kt
#	node/src/integration-test/kotlin/net/corda/node/services/RaftNotaryServiceTests.kt
#	node/src/main/kotlin/net/corda/node/internal/AbstractNode.kt
#	node/src/main/kotlin/net/corda/node/utilities/registration/HTTPNetworkRegistrationService.kt
#	testing/test-utils/src/main/kotlin/net/corda/testing/internal/vault/DummyDealStateSchemaV1.kt
2018-01-12 08:06:44 +00:00
Shams Asari
bbfbb08c43
CORDA-881: Signed network parameters has the network map cert attached to it instead of just the public key. (#2346)
Introduced DigitalSignatureWithCert and SignedDataWithCert as internal APIs, with the expectation that they will become public; renamed the network parameters end-point to network-parameters; updated the network-map.rst doc; and did some refactoring.
2018-01-12 07:59:08 +00:00
Christian Sailer
0c017fdfec
ENT-1361 Enforce Unicode settings for SQL server (#311) (#321)
* Enforce Unicode settings for SQL server (#311)

* Enforce correct unicode setting in the JDBC Url for SQL server

* Avoid cast/null check

* Fixed wrong string literal and added test to check the literal matches what Hikari expects

* Optimise Imports

* Constant for config tag and minor test improvement.

* Constant and case insensitive check

* Import and Capitalisation

* Missed curly brace
2018-01-11 14:29:46 +00:00
Andrius Dagys
0a56c75543 Minor: AuthDBTests - close RPC connections to prevent thread leaks 2018-01-11 12:00:02 +00:00
igor nitto
8b5ad9d5c0
Remove unused class DefaultCordaRpcPermissions (#2328) 2018-01-11 10:45:33 +00:00
Andras Slemmer
2921b8044d Ack unhandled messages when recipient flow is shut or shutting down (#335) 2018-01-10 17:55:08 +00:00
Tudor Malene
c2bd7403a8
hibernate mapping changes (#2337)
* add foreign key names and move the participants mapping to the subclass so that the table name can be configured

* update api-current file

* fix compilation errors

* PR changes

* PR changes
2018-01-10 11:42:08 +00:00
Tudor Malene
12546c0a7c
[ENT-1281]: Disable database.runMigration by default and enforce database version on startup. (#264)
* [ENT-1281]: set database.runMigration=false by default and add state check at startup

* [ENT-1281]: attempt to fix tests

* [ENT-1281]: attempt to fix tests

* [ENT-1281]: set runMigration=true in the cordformation plugin

* [ENT-1281]: attempt to fix tests

* [ENT-1281]: attempt to fix tests

* [ENT-1281]: attempt to fix tests

* [ENT-1281]: fix formatting

* [ENT-1281]: typo and javadocs

* [ENT-1281]: small refactoring and added test for SchemaMigration

* [ENT-1281]: update documentation to reflect changes

* [ENT-1281]: fix tests after merge

* [ENT-1339]: for h2, allow schemas without migrations to run (#294)

* [ENT-1339]: for h2, allow schemas without migrations to run

* [ENT-1339]: fix various migration issues and change author name

* [ENT-1339]: add naming convention for migrations

* [ENT-1339]: change naming convention to use hyphens

* [ENT-1339]: change mapping of participants to be able to control the table name

* [ENT-1339]: change FK names to <=30 for oracle 11g compatibility

* [ENT-1339]: cmd line argument for migrations made consistent

* [ENT-1339]: revert abstract state superclasses

* Update db integration test setup - new tables.

* Update db integration test setup - new tables.

* [ENT-1339]: remove final from participants to allow table name config

* [ENT-1339]: shortened pk

* [ENT-1339]: revert constructor

* [ENT-1339]: change getMigrationResource api to Nullable

* fix compile error

* [ENT-1281]: fix tests after merge

* [ENT-1281]: fix tests after merge
2018-01-10 11:32:24 +00:00
szymonsztuka
1e2cc3e2df
Database integration tests - added NotaryService schema to database setup. (#328)
* Added NotaryService schema to database setup for two integration tests.
* SQL Server setup scripts - create Login only if not preset (as it's done for Azure SQL).
2018-01-10 10:56:55 +00:00
szymonsztuka
c7487a8696
Enable deserialisation for certain package from Oracle database drivers. (#298)
* Oracle database drivers ojdbc7.jar and ojdbc8.jar use deserialisation which is disabled by the default in Corda. Added an Oracle package to serialFilter when the node uses Oracle database.
2018-01-09 18:25:54 +00:00
Christian Sailer
40edc286f5
Transaction creation performance (#303) (#320)
* Default autoCommit to false, remove setting of autocommit and only set isolationLevel if it's changed.

* Set default transaction isolation from database config
2018-01-09 17:17:10 +00:00
Anthony Keenan
979d7f2c63
ENT-1226 Improve Network client Error Handling (#2344)
* Improve Network client Error Handling

* Reformatted NetworkMapServer

* Removed line that is now redundant
2018-01-09 16:55:16 +00:00
Andrius Dagys
a6cf04b49c Ignore flaky Raft Notary integration test while it's being investigated 2018-01-09 16:07:07 +00:00
Tudor Malene
0c646ff662
[ENT-1339]: for h2, allow schemas without migrations to run (#294) (#305)
* [ENT-1339]: for h2, allow schemas without migrations to run (#294)

* [ENT-1339]: for h2, allow schemas without migrations to run

* [ENT-1339]: fix various migration issues and change author name

* [ENT-1339]: add naming convention for migrations

* [ENT-1339]: change naming convention to use hyphens

* [ENT-1339]: change mapping of participants to be able to control the table name

* [ENT-1339]: change FK names to <=30 for oracle 11g compatibility

* [ENT-1339]: cmd line argument for migrations made consistent

* [ENT-1339]: revert abstract state superclasses

* Update db integration test setup - new tables.

* Update db integration test setup - new tables.

* [ENT-1339]: remove final from participants to allow table name config

* [ENT-1339]: shortened pk

* [ENT-1339]: revert constructor

* [ENT-1339]: change getMigrationResource api to Nullable
2018-01-09 14:44:17 +00:00
Andrius Dagys
63e1bdaa94 Revert "Raft notaries can share a single key pair for the service identity (i… (#2269)"
This reverts commit 3e00676851.
2018-01-09 12:20:25 +00:00
Andrius Dagys
3e00676851
Raft notaries can share a single key pair for the service identity (i… (#2269)
* Raft notaries can share a single key pair for the service identity (in contrast to a shared composite public key, and individual signing key pairs). This allows adjusting the cluster size on the fly.
2018-01-09 08:17:59 +00:00
Shams Asari
a94f99781a Merge remote-tracking branch 'open/master' into shams-os-merge-080118
# Conflicts:
#	node/src/integration-test/kotlin/net/corda/node/services/AttachmentLoadingTests.kt
#	node/src/integration-test/kotlin/net/corda/node/services/DistributedServiceTests.kt
#	node/src/test/kotlin/net/corda/node/services/events/NodeSchedulerServiceTest.kt
2018-01-08 13:43:10 +00:00
szymonsztuka
98a12c92d5
Fix database integration tests after OS->Ent merge (#295)
* Add more db schemas to NodeRegistrationTest
* Add tables to drop
2018-01-08 11:14:57 +00:00
Andrzej Cichocki
9d66214f4a
CORDA-891 Convert NodeSchedulerServiceTest into a unit test (#2273) 2018-01-05 16:34:03 +00:00
Katelyn Baker
ab76ef4deb REMOVING FLAKEY TESTS TILL THEYRE STABILISED 2018-01-05 15:05:10 +00:00
Shams Asari
2cb71ff649 Merge fixes 2018-01-05 14:38:53 +00:00
Shams Asari
74c2eb8a0a Merge remote-tracking branch 'open/master' into shams-os-merge-040118
# Conflicts:
#	node/src/integration-test/kotlin/net/corda/node/AuthDBTests.kt
#	node/src/integration-test/kotlin/net/corda/node/SSHServerTest.kt
2018-01-05 14:13:36 +00:00
Katelyn Baker
694721e8ba TEMP removal of SSH tests till they're made determinsitic (#2325) 2018-01-05 14:07:55 +00:00
igor nitto
00b570df29
Improve RPC security test coverage [CORDA-827] (#2320)
* Added test cases covering encrypted password usage
 * Renamed UserAuthServiceTests as AuthDBTests: the integration tests checking user credentials loaded from external database (still limited to H2 in-memory for now).
 * Some internal renamings
2018-01-05 11:50:21 +00:00
Shams Asari
1e9e1a61d9 Moved IntegrationTest class into internal package 2018-01-04 22:08:16 +00:00
Shams Asari
b577b680ff Merge remote-tracking branch 'open/master' into shams-os-merge-040118 2018-01-04 18:32:15 +00:00
Konstantinos Chalkias
48be562a2a
ECDSA entropyToKeyPair + no idempotent signatures (#2210) 2018-01-04 17:52:31 +00:00
Ross Nicoll
412fead02e
CORDA-785: Add functions for constructing FlowLogicRef without the class (#2134)
Add functions for constructing `FlowLogicRef` from class name, rather than requiring the class itself. This avoids requiring that schedulable states have access to the scheduled flow to instantiate, but instead can require it only actually scheduling the flow. This reduces the size of the JAR required to validate transactions containing these states.
2018-01-04 13:32:10 +00:00
Shams Asari
13619df0b1 Merge remote-tracking branch 'open/master' into shams-os-merge-040118
# Conflicts:
#	node/src/integration-test/kotlin/net/corda/node/utilities/registration/NodeRegistrationTest.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/node/MockServices.kt
#	testing/test-utils/src/main/kotlin/net/corda/testing/dsl/TransactionDSLInterpreter.kt
2018-01-04 10:58:44 +00:00
Shams Asari
d84105b60e
Using X509Certificate consistently throughout, rather than BC's X509CertificateHolder. (#2305)
The later is now only used where needed. This has reduced the amount of converting we have to do back and forth.
2018-01-03 22:00:39 +00:00
Tudor Malene
b8fa95b3d1
[ENT-1145]: change name of foreign keys to a human-readable format of FK__from_table__to_table (#275) 2018-01-03 15:35:31 +00:00
Shams Asari
022daf2190 Merge and test fixes 2018-01-02 16:39:52 +00:00
Shams Asari
20683c3239
Added checks on the received node CA cert from the doorman service. (#2301) 2018-01-02 15:51:13 +00:00
Shams Asari
52173219c3 Merge remote-tracking branch 'open/master' into shams-os-merge-020118
# Conflicts:
#	client/rpc/src/integration-test/java/net/corda/client/rpc/CordaRPCJavaClientTest.java
#	node/src/integration-test/kotlin/net/corda/node/NodeKeystoreCheckTest.kt
#	node/src/integration-test/kotlin/net/corda/node/services/network/NetworkMapTest.kt
#	node/src/integration-test/kotlin/net/corda/node/utilities/registration/NodeRegistrationTest.kt
#	node/src/integration-test/kotlin/net/corda/services/messaging/MQSecurityTest.kt
#	node/src/main/kotlin/net/corda/node/services/config/ConfigUtilities.kt
#	node/src/test/kotlin/net/corda/node/services/events/NodeSchedulerServiceTest.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/DriverDSLImpl.kt
2018-01-02 15:32:32 +00:00
bpaunescu
80640cca91 replaces uses of java.Date with java.time;
changed nullable timestamp variables to non-nullable
2018-01-02 15:22:03 +00:00
Shams Asari
730fec2eb4
Internal driver now also does the registration for the notaries. (#2304)
Using the --just-generate-node-info flag for the notary nodes so that their identities can be submitted to the network map server, which does the network parameters generation.
2018-01-02 15:12:30 +00:00
Andrzej Cichocki
fe3c2b3983
CORDA-891 Refactoring for #2273 (#2306)
* Make FlowLogicRefFactoryImpl a class.

* Replace instanceof with polymorphism.

* Fix out-of-scope spelling error.
2018-01-02 13:11:43 +00:00
szymonsztuka
f701bc1b9a Merge commit 'ad23bb875482b7b8e17c64fb37342d0d6a5ce94d' into feature/test-merge-szymon
# Conflicts:
#	node/src/integration-test/kotlin/net/corda/node/services/BFTNotaryServiceTests.kt
2018-01-02 11:54:29 +00:00
bpaunescu
e3638f99e4
Merge pull request #259 from corda/bogdan-fix-ENT-1322
ENT-1322: format new date object to work with SQLServer comparison be…
2018-01-02 10:53:34 +00:00
bpaunescu
a320c8a116 moved init of simpleDateFormat 2018-01-02 09:55:03 +00:00
Tommy Lillehagen
b68c776e8c
ENT-1248 - Update ASCII logo (#265) 2018-01-02 09:32:12 +00:00
Shams Asari
07258c0a16
Moved configureTestSSL out of testing API and made it internal. (#2297) 2018-01-02 09:15:26 +00:00
Shams Asari
4a2f157118
Validating the entire cert path in node registration, rather just checking the root cert. (#2298)
Also reduced duplicate code when creating the node CA cert path for testing, and renamed IdentityGenerator to DevIdentityGenerator.
2017-12-29 14:38:30 +00:00
Shams Asari
39d25958e2
Fixed identity generation of single node notaries as used by the driver and MockNetwork. (#2296)
The identity cert generated used to be of type SERVICE_IDENTITY when it should have been a LEGAL_IDENTITY.
2017-12-28 15:32:09 +00:00
bpaunescu
6d2608d693 ENT-1322: format new date object to work with SQLServer comparison between timestamp and datetime 2017-12-22 21:16:27 +00:00
Tudor Malene
83efd33fc7
removed unnecessary "display width" db settings that were failing in postgres (#247) (#251) 2017-12-22 09:55:33 +00:00
Christian Sailer
a2344f15fb
Unicode columns for SqlServer (#248)
* ENT-1291 Switch liquibase changelogs to use nvarchar instead of varchar

* Configure Hibernate to use nationalised strings

* Configure Hibernate to use nationalised strings

* Change schema so that UUIDs are varchars

* Update schema certificate signing request status is not unicode

* Upper case suffix for audit tables

* nvarchar -> varchar for status in the audit table

* Capitalisation

* Capitalisation

* Force hibernate to use unicode columns on SQL server

* Force hibernate to use unicode columns on SQL server

* Schema change to make PostgreSql happy

* SQL files to initialise the perfcluster db for SQL server and PostgreSql

* Code ordering and extra comment
2017-12-21 17:34:21 +00:00
szymonsztuka
269a4ba79d
Refactor BFTNotaryServicetest and MySQLNotaryServiceTest to allow running database integration tests. (#211)
* BFTNotaryServiceTests.kt - instantiate MockServices before each test, not at the class level - to allow database integration test clean database before each test.
* MySQLNotaryServiceTests.kt - use H2 datasource for the notary in database integration tests (and as it was before during standard integration tests)
* Revert Enterprise way of makeTestDataSourceProperties MockNode.kt.
* Minor attempt to refactor Enterprise only parts of reading database config and make it less error prone during OS->Enterprise merge.
2017-12-21 13:24:13 +00:00
Alberto Arri
6db0490750
Fix node integration tests. (#2233)
* Add tests for node registration and communication
2017-12-21 11:48:00 +00:00
josecoll
a2d14bd20d
Exclude jolokia packages from Quasar instrumentation. (#2279) 2017-12-21 11:06:44 +00:00
szymonsztuka
ad23bb8754
BFTNotaryServiceTests - instantiate MockServices before each test, not at the class level. (#2281)
* change to align with enterprise repo
2017-12-21 09:50:21 +00:00
Michele Sollecito
0711ad34e3
[ENT-850]: RPC function to kill a flow (#215)
* Tentative API and implementation.

* Tests completed. API update needed.

* Updated api-current.txt. Some previous changes hadn't been reflected and now they are.

* Improved the tests.

* Some code review changes.

* Merge branch 'master' into features/ENT-850

# Conflicts:
#	.ci/api-current.txt

* Code review changes.

* Code review changes.
2017-12-20 19:16:54 +00:00
szymonsztuka
d9574338bc
Liquibase works for a single db user with multi schema setup (par of ENT-1275) (#233)
* Override Liquibase default schema by one from the node configuration (database.schema) if they are different. This allows database tables be created within a correct schema when no default schema is set at database level.
* Pass in the databaseConfig.schema for network manager (for Liquibase schema migration).
2017-12-20 17:17:17 +00:00
Shams Asari
3c64e9feec Merge fixes, which includes fixing the doorman tests and updating the doorman to not set a CN in the CSR responses 2017-12-20 01:03:34 +00:00
Shams Asari
de9565b96a Merge remote-tracking branch 'open/master' into shams-os-merge-191217
# Conflicts:
#	core/src/main/kotlin/net/corda/core/node/services/NotaryService.kt
#	node/src/integration-test/kotlin/net/corda/node/services/BFTNotaryServiceTests.kt
#	node/src/integration-test/kotlin/net/corda/node/services/RaftNotaryServiceTests.kt
#	node/src/integration-test/kotlin/net/corda/services/messaging/P2PMessagingTest.kt
#	node/src/main/kotlin/net/corda/node/internal/AbstractNode.kt
2017-12-19 23:44:07 +00:00
Andrzej Cichocki
762d7b7275
Merge pull request #217 from corda/andr3ej-ross-merge
Merge 22af527 from OS
2017-12-19 23:24:50 +00:00
Tommy Lillehagen
c171237556
ENT-1248 - Node banner: R3 Corda (#219) 2017-12-19 19:33:00 +00:00
Andrzej Cichocki
a652c8b19f
Merge commit '22af527b7943c0c4376af582de6505893817111a' into andr3ej-ross-merge
# Conflicts:
#	docs/source/changelog.rst
2017-12-19 17:07:17 +00:00
Shams Asari
e1e715ee81 Removed all remaining special treatment of the X500 common name.
With network parameters the CN is no longer needed to identify notaries. This frees it up to be used in the node's name alongside the other attributes.

Also, the identity generation logic has been simplified, removing the need to have magic string values for storing distributed identities in the keystore. Now there are just two alias prefixes: "identity" as it was previously, and "distributed-notary".
2017-12-18 21:39:11 +00:00
josecoll
cfd67f4e55 Merge branch 'colljos-os-merge-rc01' of https://github.com/corda/enterprise into colljos-os-merge-rc01 2017-12-18 16:58:32 +00:00
Ross Nicoll
22af527b79
CORDA-869: Clean up error reporting in node config/registration (#2268) 2017-12-18 16:54:49 +00:00
josecoll
b2ecb2e671 Ignore non-deterministic Bridge ack/nak test (failing on TC) 2017-12-18 16:53:44 +00:00
Andras Slemmer
344e005b30 ignore nack test 2017-12-18 16:53:14 +00:00
Andras Slemmer
38b0ed4a35 IntegrationTest() 2017-12-18 16:33:08 +00:00
Ross Nicoll
21f0892deb
CORDA-831: Add roles to X509 certificates (#2180)
* Add roles to X509 certificates so that the identity service can always determine which certificate in a hierarchy is the well known identity
* Rename CLIENT_CA certificate type to NODE_CA
* Rename DOORMAN role to INTERMEDIATE_CA
* Correct issue in CashTests where instead of providing a well known identity to generateSpend(), a confidential identity was passed in and a confidential identity generated from it.
* Enforce role hierarchy in PKI
* Enforce that party certificates must be well known or confidential identities
* Add network map certificate role
2017-12-18 16:23:34 +00:00
Andras Slemmer
8ef3f1a6a0 fix BFTNotoaryServiceTests 2017-12-18 16:14:36 +00:00
Andras Slemmer
107fcf82e3 Fixing stuff 2017-12-18 15:39:08 +00:00
Ross Nicoll
166918c62c
CORDA-869: Stop silently dropping node configuration errors (#2267) 2017-12-18 15:17:18 +00:00
josecoll
79f288dcf6 Fix compilation errors on Tests following rebase from OS. 2017-12-18 14:30:46 +00:00
josecoll
fc7445f714 Resolve compilation issues related to Network Map changes. 2017-12-18 11:30:32 +00:00
josecoll
e9fc6f7c8d Merge remote-tracking branch 'open/master' into colljos-os-merge-rc01 2017-12-18 10:24:38 +00:00
Shams Asari
00a5e3db6b CORDA-830 Introducing the network bootstrapper
Copying of the node-info files moved out of Cordform and into NetworkParametersGenerator (which is now called NetworkBootstrapper). This class becomes an external tool to enable deployment of nodes in a test setup on a single filesystem.
2017-12-17 23:49:57 +00:00
Shams Asari
e9cead9055 CORDA-833: SignedNodeInfo object for holding a list of signatures, one for each identity in the NodeInfo. This forms part of the network map. 2017-12-17 19:45:58 +00:00
Andrzej Cichocki
8114a20abd
CORDA-716 Move non-API things to internal (#2256) 2017-12-17 18:44:35 +00:00
Tudor Malene
f2194fcfd4
Integrate db migration tool - liquibase (#150)
[ENT-996]: integrate Liquibase for data migration
2017-12-16 15:58:12 +00:00
Andrzej Cichocki
2652ae111a
CORDA-716 Devrel feedback (#2266)
* * Document TestIdentity entropy and enforce that it actually works
* Ledger/transaction DSL default notary with fresh key
* MockServices default identity with fresh key
* makeTestIdentityService now takes vararg
* Require cordappPackages for MockServices
* DSL automatic serialization init
* Improve error when two MockNetworks used

* * Make cordappPackages required by MockNetwork
* Default identity service in MockServices
* Make notarySpecs Java-friendly
2017-12-15 19:18:31 +00:00
Matthew Nesbit
595d41af04
AMQP Bridging between nodes (#2181)
* Able to send hand coded messages to an Artemis node inbox

Get startup race condition fixed. Start cleanup work.

Fixup after rebase

Remove SASL hack for now

Minor tweaks. Enable AMQP mode manually.

Add configuration control

Slight clean up

Stop timeouts that don't work with AMQP

Rename class

Get TLS constants from :node-api

Primitive integration test

Put back commented line

Session per bridge to alow rollback on remote rejects.

Add more tests and handle multiple IP adddresses

Reduce logging

Fixup after rebase

Add a test to verify the remote end AMQP rejection logic works and does cause message replay.

Allow Artemis to duplicate after session rollback

Reduce number of threads

Move legacy bridge related code over to CoreBridgeManager

Shared threadpool for bridges

Add a test to confirm that no side effects when using a shared thread pool.

Address PR comments and remove dead lines

Rebase and add some comments

Remove a couple of blank lines

Ensure AMQP bridges are used in tests

Fixup after removal of testNodeConfiguration

Add a couple of doc comments

Add a couple of doc comments

Make things internal and use CordaFuture

Address some PR comments

Change comment type

* Use Artemis 2.2 to fix AMQP problems. Add explicit test of legacy core bridges, as marking the factory class private had silently broken them.

* Fix change due to using Artemis 2.2
2017-12-15 17:48:33 +00:00
Andrzej Cichocki
479a656484
CORDA-716 Consistent MockServices API (#2247)
* Consistent MockServices API.

* Fix compile error.
2017-12-15 13:15:05 +00:00
szymonsztuka
5744f3d5b2
Extended timeout for a VaultQuery integration test. (#199)
* A VaultQuery test involving a time window fails against Azure SQL on TC, the timeout value has been increased from 3 to 6 seconds.
* Add missing schema in Azure master db setup.
2017-12-15 11:37:08 +00:00
Katarzyna Streich
550469ea38
Wire part of network parameters (#2187)
* Take maximum message size from network parameters

* Add epoch handling

* Add handling of network parameters mismatch

Change NetworkMapClient and updater, add handle in
AbstractNode that results in node shutdown on parameters mismatch. Later
on we should implement proper handling of parameters updates.
Add tests of NetworkParameters wiring.

When node starts with compatibilityZone url configured it takes
networkParameters from the networkMap.

* Permit only one network parameters file

On node startup network parameters are read from node's base directory,
we permit only zero or one files to be there. If network map server is
configured the parameters can be downloaded at startup (if not present
in the directory already).

* Update docs on network map endpoints
2017-12-15 11:13:15 +00:00
szymonsztuka
9600622db7
Add db integration test setup for new tests (#197)
* Added db test setup for NetworkMapTest and NodeRegistrationTest.
* Removed database.serverNameTablePrefix property setup for notaries in DriveDSL (after rebase from OS)
* Add missing schemas for Azure master database setup.
2017-12-14 17:33:59 +00:00
Andrzej Cichocki
21e1118ea0
Make test constants Java-visible fields. (#2258) 2017-12-14 16:30:18 +00:00
Andrzej Cichocki
05bc05a936
CORDA-716 Retire withTestSerialization (#2240) 2017-12-14 12:42:18 +00:00
Katarzyna Streich
0df846148d
SignedNetworkMap verification fix (#2255)
* SignedNetworkMap verification fix

SignedNetworkMap verification should also include cert path validation,
which was probably moved away by accident, because docs say about the
exception CertPathValidatorException.
2017-12-14 12:06:44 +00:00
Shams Asari
2319bf396c Renamed TestIdentity.key to keyPair and pubkey to publicKey (#2249) 2017-12-14 11:30:55 +00:00
igor nitto
5720697b0d
[CORDA-827] Improved unit tests coverage and documentation (#2229)
* Extend unit test on RPCSecurityManager
* Fix corner cases in permission parsing and bug in tryAuthenticate
* Rework docsite page
* Add missing ChangeLog entry
2017-12-13 17:09:09 +00:00
Andrzej Cichocki
d1ea881aef
Inline testNodeConfiguration. (#2238) 2017-12-13 16:18:42 +00:00
josecoll
65ccd2318f
Merge pull request #182 from corda/colljos-os-hc02-merge-121217
OS -> Enterprise merge for HC02
2017-12-13 15:06:40 +00:00
Rick Parker
8bb02c63f0
ENT-1161 Notary load testing flow (#175) 2017-12-13 14:34:01 +00:00
josecoll
4e42fff7d4 Fix broken integration test following rebase from OS master (mostly test utils identity constant redefinitions / renaming) 2017-12-13 12:34:06 +00:00
josecoll
d1998b2c94 Merge remote-tracking branch 'open-hc02/master' into colljos-os-hc02-merge-121217 2017-12-13 11:02:58 +00:00
josecoll
806ae05781 Fix broken integration test following rebase from OS/ENT master. 2017-12-13 10:31:38 +00:00
Konstantinos Chalkias
b58e2b89cd
TLS supports K1 and mixed K1-R1-RSA (#2216) 2017-12-12 20:08:57 +00:00
Andrzej Cichocki
c3b9955344
CORDA-716 Fix split packages in testing (#2232) 2017-12-12 19:37:01 +00:00
Andrzej Cichocki
905c8252a6
CORDA-654 Remaining key constants (#2226) 2017-12-12 18:03:06 +00:00
josecoll
898ce8c0aa Removed non-existent import following merge from OS. 2017-12-12 16:09:32 +00:00
Andrzej Cichocki
08bbf9061e
Introduce TestIdentity. (#2217) 2017-12-12 15:52:05 +00:00
josecoll
499de12620 Merge remote-tracking branch 'open-hc02/master' into colljos-os-hc02-merge-121217 2017-12-12 11:22:57 +00:00
Alberto Arri
2dc73ecf3b
Changed logic to check for initial certificate, now using the truststore instead of the .cer file (#2213) 2017-12-12 10:39:52 +00:00
szymonsztuka
1fc200efa7 Add db integration to new tests (#180) 2017-12-12 10:17:07 +00:00
Shams Asari
6d6393d984 Merge branch 'feature-network-parameters' into shams-merge-feature-network-parameters 2017-12-11 21:10:34 +00:00
Andrzej Cichocki
d8c7f0ae23
Inline DUMMY_CASH/OBLIGATION_ISSUER. (#2214) 2017-12-11 16:17:20 +00:00
Andrzej Cichocki
544e19e277
CORDA-654 Remove key constants from NodeTestUtils (#2205)
* DUMMY_NOTARY was hiding in a couple more places
2017-12-11 11:44:01 +00:00
Katelyn Baker
4b5c60637c
Merge pull request #2017 from corda/kat/feature/enableAMQP
CORDA-780 - Enable AMQP for P2P and Storage Contexts
2017-12-11 11:37:16 +00:00
josecoll
120fd8fdd9 Fixed compilation errors following DriverDSL refactor. 2017-12-11 11:04:40 +00:00
Shams Asari
d6054e4b4f Merge branch 'master' into shams-master-merge-081217
# Conflicts:
#	node/src/main/kotlin/net/corda/node/services/config/NodeConfiguration.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/driver/Driver.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/internal/DriverDSLImpl.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/internal/RPCDriver.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/internal/demorun/DemoRunner.kt
#	verifier/src/integration-test/kotlin/net/corda/verifier/VerifierDriver.kt
2017-12-11 10:23:16 +00:00
josecoll
8a6e9c52f3 Merge remote-tracking branch 'open-hc01/master' into colljos-os-hc01-merge-111217 2017-12-11 09:21:52 +00:00
igor nitto
da38e6f673
Configurable authorization/authentication data sources [CORDA-827] (#2145)
* Add support for external data source of access control data (RPC/Shell users credential and permissions), with optional in-memory caching.
* Support password encoded with Apache Shiro fully reversible Modular Crypt Format.
* Introduce 'security' field in Node configuration and related docsite page.
2017-12-11 08:39:09 +00:00
Shams Asari
41bfd7a971 Merge fixes 2017-12-10 20:15:33 +00:00
igor nitto
991c59e753
Stop granting NODE_USER full RPC permissions (#2098) 2017-12-08 18:03:57 +00:00
Patrick Kuo
92efd82fab
Fix broken test (#2218) 2017-12-08 17:27:23 +00:00
josecoll
4762569200
CORDA-822 - JMX Jolokia instrumentation (#2197)
* JMX Jolokia instrumentation WIP (driverDSL, webserver, cordformation, hibernate statistics, access policy config file hardening)

* Cordformation changes to support jolokia agent instrumentation at JVM startup.

* Minor updates to reflect usage of Jolokia 1.3.7 (which uses slightly different .war naming)

* Use relative path reference in -javaagent to prevent problem with long path names with spaces.

* Fixed incorrect regex pattern and added assertion to test.

* Enable JMX monitoring.

* Reporting of Hibernate JMX statistics is configurable (by default, only switched on in devMode)

* Make Artemis JMX enablement configurable.

* Re-instate banning of java serialization.

* Improve JUnit.

* Fixes following rebase from master.

* Re-instated correct regex for picking up Jolokia agent jar.

* Fixed broken integration test.

* Updated documentation

* Updated following PR review feedback.

* Fixed compilation error caused by change in DriverDSL argument type.

* Fixed compilation error caused by change in DriverDSL argument type.

* Fail fast if jolokia-agent-jvm.jar is not located.

* Applied changes in cordformation following review feedback from CA.
2017-12-08 16:27:12 +00:00
Shams Asari
65ff931f53 Merge branch 'master' into shams-master-merge-081217
# Conflicts:
#	node-api/src/main/kotlin/net/corda/nodeapi/internal/crypto/KeyStoreWrapper.kt
#	node/src/main/kotlin/net/corda/node/internal/AbstractNode.kt
#	node/src/main/kotlin/net/corda/node/services/config/ConfigUtilities.kt
#	node/src/test/kotlin/net/corda/node/services/identity/InMemoryIdentityServiceTests.kt
#	node/src/test/kotlin/net/corda/node/services/identity/PersistentIdentityServiceTests.kt
#	samples/irs-demo/src/integration-test/kotlin/net/corda/test/spring/SpringDriver.kt
#	testing/node-driver/src/integration-test/kotlin/net/corda/testing/driver/DriverTests.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/driver/Driver.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/driver/DriverDSL.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/internal/DriverDSLImpl.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/internal/NodeBasedTest.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/internal/RPCDriver.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/internal/demorun/DemoRunner.kt
#	testing/test-utils/src/main/kotlin/net/corda/testing/CoreTestUtils.kt
#	verifier/src/integration-test/kotlin/net/corda/verifier/VerifierDriver.kt
2017-12-08 16:03:16 +00:00
Katelyn Baker
c396842b0e CORDA-553 - Review comments 2017-12-08 14:37:41 +00:00
Patrick Kuo
9b097aa988
CORDA-819 Add checks to ensure TLS and Client CA cert chains to the same trusted root (#2149)
* testnet bad node info bug fix

* address PR issues

* fix PR issues

* remove TODO for checking validation logic
2017-12-08 14:35:49 +00:00
Alberto Arri
7c5a328cc1
Create a single NodeInfo (#2174) 2017-12-08 14:16:06 +00:00
Shams Asari
db9eb8a63f Preliminary work to make merge with master manageable 2017-12-08 13:39:05 +00:00
Ross Nicoll
e6adbe7137
CORDA-831: Add confidential identity certificate type (#2198)
* Rename certificate types
* Create separate certificate type for confidential identities
* Add name constraints to dev node CA
* Move dev node CA into getTestPartyAndCertificate()
2017-12-08 13:17:29 +00:00
Andrzej Cichocki
32ea59d085
Inline some DUMMY constants. (#2200) 2017-12-08 10:45:22 +00:00
Andras Slemmer
c794f8418c
Merge pull request #162 from corda/aslemmer-fix-netty-buffer-leak
Aslemmer fix netty buffer leak
2017-12-08 10:12:35 +00:00
Katelyn Baker
8878fa99a0 CORDA-553 - Remove CordaCustomSerializer annotation
It isn't actually needed as we can scan the jar for classes implementing
the interface.
2017-12-07 21:15:33 +00:00
Katelyn Baker
fcec60e232 CORDA-786 - Use reflection to infer proxy and proxied types in CorDapp custom serializers
This removes any need for the user implement and override types from the
super class

    * CORDA-786 - Docs update
    * CORDA-786 - Remove unneeded second annotation on the proxy objects
    * Fix merge conflicts
2017-12-07 21:15:14 +00:00
Katelyn Baker
d25b7f560c CORDA-786 - Genericise the CorDapp Proxy 2017-12-07 21:15:14 +00:00
Katelyn Baker
81eb0c1898 CORDA-780 / CORDA-786 - Enable AMQP for P2P and Storage Contexts
Add plugable mechanism for CorDapps such that they can add their own
custom serializers
2017-12-07 21:13:59 +00:00
Ross Nicoll
ce859178eb
Correct identities passed to generateSpend (#2199)
Pass well known identities instead of confidential into `generateSpend()`
2017-12-07 18:12:25 +00:00
szymonsztuka
737cd7edba
Improved SQL test setup for Azure SQL and SQL Server (#152)
* Improved SQL scripts for SQL Server and Azure to drop user/permissions on class setup not on test setup
* Set Micorsoft JDBC driver as compile time dependency.
* Database testing description.
* New table node_mutual_exclusion added to SQL test setup scripts.
2017-12-07 16:26:17 +00:00
Andras Slemmer
bb5d5d6944 Various modifications to debugging tools 2017-12-07 15:35:28 +00:00
Andras Slemmer
fcdb669042 Fix leak by executing acks on the messaging executor 2017-12-07 15:35:28 +00:00
Andrzej Cichocki
c36bea3af5
CORDA-654 MockServices no longer has hard-coded identities (#2192)
* Resurrect a test
* Fix a broken test
* Pass in the initial identity
* Make IdentityService easier to mock
2017-12-07 11:55:18 +00:00
Shams Asari
cb11379d98 Addressing some of the technical debt 2017-12-06 22:01:41 +00:00
Alberto Arri
eb3b816d90
Rename NetworkisRegistrationHelperTest to NetworkRegistrationHelperTest (#2185) 2017-12-06 14:36:09 +00:00
Shams Asari
89256a7f16 Moved the CZ URL and node registration logic of the driver to be more internal, not available through the standard driver call, as these are not testing features for an app dev.
Also cleanup up some of the related tests.
2017-12-06 12:32:41 +00:00
szymonsztuka
57c6460ddc Fixes after merge Open Source into Enterprise. 2017-12-06 10:43:09 +00:00
Shams Asari
8461837f1a Cleaned up Driver.kt so that only the relevant bits are exposed as public API 2017-12-05 23:52:15 +00:00
szymonsztuka
cb43091ff8 Merge Open Source into Enterprise
# Resolved conflicts:
#	core/src/main/kotlin/net/corda/core/node/services/TransactionStorage.kt
#	node/src/integration-test/kotlin/net/corda/node/BootTests.kt
#	node/src/integration-test/kotlin/net/corda/node/CordappScanningDriverTest.kt
#	node/src/integration-test/kotlin/net/corda/node/NodePerformanceTests.kt
#	node/src/integration-test/kotlin/net/corda/node/SSHServerTest.kt
#	node/src/integration-test/kotlin/net/corda/node/services/AttachmentLoadingTests.kt
#	node/src/integration-test/kotlin/net/corda/test/node/NodeStatePersistenceTests.kt
#	node/src/main/kotlin/net/corda/node/Corda.kt
#	node/src/main/kotlin/net/corda/node/internal/AbstractNode.kt
#	node/src/main/kotlin/net/corda/node/internal/StartedNode.kt
#	node/src/test/kotlin/net/corda/node/services/events/NodeSchedulerServiceTest.kt
#	samples/attachment-demo/src/integration-test/kotlin/net/corda/attachmentdemo/AttachmentDemoTest.kt
#	samples/trader-demo/src/integration-test/kotlin/net/corda/traderdemo/TraderDemoTest.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/NodeTestUtils.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/internal/NodeBasedTest.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/node/MockServices.kt
2017-12-05 17:35:54 +00:00
Andrzej Cichocki
b0ebf3d7e0
CORDA-654 Various MockServices refactorings (#2167)
* Remove MockServices.stateMachineRecordedTransactionMapping which does nothing
* Inline StateLoaderImpl
* Remove unused MockServices
* MockServices well-known identities not needed in a place
* A few things don't need a full-blown ServiceHub
2017-12-05 16:22:53 +00:00
Andrzej Cichocki
e4d76204c1
Pass some key constants into MockServices. (#2173) 2017-12-05 14:50:56 +00:00
cburlinchon
c87f37af3e
ENT-1127 mutual exclusion so a node cannot start if another is running (#111)
* Dont lock row
* Add config for RunOnceService
* Don't invalidate Hibernate L2 cache on native queries
* Change column names to avoid name clash
2017-12-05 14:46:35 +00:00
Andras Slemmer
8fb0db1908 SSH test workaround 2017-12-05 12:16:32 +00:00
Andras Slemmer
63027a077d State machine rewrite 2017-12-05 11:36:20 +00:00
Alberto Arri
b6427a3128
remove calls to exitnodes from NodeStartup (#2080) 2017-12-04 15:44:18 +00:00
Shams Asari
6a1aa59e3e Merge branch 'master' into shams-merge-master-041217
# Conflicts:
#	node/src/integration-test/kotlin/net/corda/node/services/DistributedServiceTests.kt
#	samples/bank-of-corda-demo/src/main/kotlin/net/corda/bank/BankOfCordaCordform.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/NodeTestUtils.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/driver/Driver.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/internal/NodeBasedTest.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/node/MockNode.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/node/NotarySpec.kt
#	verifier/src/integration-test/kotlin/net/corda/verifier/VerifierDriver.kt
2017-12-04 13:39:32 +00:00
Alberto Arri
acd2281b20
ENT-1125 bootstrap root certificate (#2151)
* ENT-1125 make nodes check that the returned signed certificate from Doorman has the expected root
2017-12-04 12:53:22 +00:00
Andrzej Cichocki
d2f66acff7
Use non-static Rx pool when testing. (#2165) 2017-12-04 12:41:43 +00:00
Shams Asari
5264072752 Renamed n.c.nodeapi.config to n.c.nodeapi.internal.config as that config code is not public API. For the same reason, also moved User into the same internal package. 2017-12-03 17:20:30 +00:00
szymonsztuka
709b3791a3
SQL Azure and SQL Server database integration tests (#115)
* Integration test are parameterised (extends IntegrationTest) to run against a remote database with 4 db scripts run @BeforeClass, @Before, @After and @AfterClass.
* SQL script for SQL Azure and SQL Server databases and templates of JDBC configuration.
2017-12-01 17:17:51 +00:00
Katarzyna Streich
6958cbbc44
Fix demobench as part of network parameters work (#2148)
* Fix demobench - network parameters

Demobench uses ServiceIdentityGenerator to pregenerate notary identity
for network parameters.
2017-12-01 16:14:03 +00:00
Andrzej Cichocki
15f677a2fb
Make rigorousMock callRealMethod by default for concrete methods. (#2159) 2017-12-01 10:10:27 +00:00
szymonsztuka
2bdd8b681d Merge OS to Enterprise.
Main differences preserved in Enterprise version:
* constants.properties: platform version 1 (OS has 2)
* gradle-wrapper.properties: higher Gradle version gradle-4.3.1 (OS has gradle-4.3)
* Driver.kt - setting system property "user.dir"
2017-11-30 23:54:12 +00:00
Shams Asari
c2731c6797 More merge fixes and moved NodesInfoFilesCopier into internal package 2017-11-30 16:46:32 +00:00
Andrzej Cichocki
10e686bc82
Inline DriverConstants. (#2156) 2017-11-30 16:28:58 +00:00
Andrzej Cichocki
a314a6a125
CORDA-654 Simplify TransactionDSL API (#2152) 2017-11-30 16:28:44 +00:00
igor nitto
0db7dce985
Dynamic registration of RPC users security roles in ArtemisMessagingS… (#2140)
Dynamic registration of RPC users security roles in ArtemisMessagingServer [ENT-1000]
2017-11-30 15:06:53 +00:00
Shams Asari
fdc31091a6 Merge branch 'feature-network-parameters' into shams-master-merge-291117
# Conflicts:
#	constants.properties
#	gradle-plugins/cordformation/src/main/kotlin/net/corda/plugins/Cordform.kt
#	gradle-plugins/cordformation/src/main/kotlin/net/corda/plugins/Node.kt
2017-11-30 12:05:42 +00:00
Katarzyna Streich
c9f3e98795
Another approach to fixing deployNodes task and network parameters generation (#2066)
* Generate networkParameteres for Cordformation.

Fix deployNodes task in Cordformation to generate NetworkParameters before running the nodes.
Add TestNetworkParametersGenerator utility loaded after node infos generation step.

* Get rid of bouncy castle provider dependency
For cordform-common. It caused problems with loading our custom
X509EdDSAEngine for generation of network parameters in deployNodes
task.
2017-11-30 10:39:29 +00:00
Shams Asari
71763ff1d3 Merge branch 'master' into shams-master-merge-291117
# Conflicts:
#	node/src/main/kotlin/net/corda/node/internal/AbstractNode.kt
#	node/src/main/kotlin/net/corda/node/services/network/PersistentNetworkMapCache.kt
#	node/src/test/kotlin/net/corda/node/services/messaging/ArtemisMessagingTests.kt
#	samples/notary-demo/src/main/kotlin/net/corda/notarydemo/BFTNotaryCordform.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/driver/Driver.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/internal/demorun/DemoRunner.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/node/MockNode.kt
2017-11-29 18:00:16 +00:00
Shams Asari
286ff65e60
Merge pull request #2147 from corda/shams-doorman-node-persistence-deps
Moved CordaPersistence and dependent classes into internal package in…
2017-11-29 17:51:35 +00:00
Andrzej Cichocki
3c31fdf31d
CORDA-806 Remove initialiseSerialization from rpcDriver (#2084)
and fix a leak or two
2017-11-29 17:42:39 +00:00
Shams Asari
b638b30d2a Moved CordaPersistence and dependent classes into internal package in node-api. This is so that the doorman can make use of them without needing a compile dependency to node. 2017-11-29 17:14:05 +00:00
Patrick Kuo
572c4af40c
Use NetworkMap and SignedNetworkMap in NetworkMapClient, and enable signature verification. (#2054)
* new network map object for network map, and verify signature and root in Signed network map and node info

* fixup after rebase

* * added certificate and key to network map server
* move DigitalSignature.WithCert back to NetworkMap.kt, as its breaking API test, will raise another PR to move it back.
* Make DigitalSignature.WithCert not extend WithKey, as per PR discussion.
* various fixes after rebase.

* move Network map back to core/node, as its breaking API test

* revert unintended changes

* move network map objects to node-api
2017-11-29 15:55:13 +00:00
Shams Asari
5c53a91785 Overhaul of the Bank of Corda demo to fix two problems it had:
1. The runRPCCashIssue and runWebCashIssue gradle tasks didn't work because they were using the wrong ports
2. Notary lookup was failing because the lookup name didn't include the correct CN for the notary name (this slipped through when reverting the network parameters)

The ports change occurred in #1922 which was attempting the fix the runIssuer gradle task. This is actually a misleading and redundant task as all it does is start up the nodes, which is what the documented deployNodes already does. The ports runIssuer allocated to the nodes were different to the ones specified in deployNodes.

To make sure we have integration tests which closely match deployNodes, the BoC demo has been updated to make use of CordformDefinition. This keeps the node definitions in one place, removing the need to have disparate files in sync. runIssuer has been removed.
2017-11-29 14:48:05 +00:00
Tudor Malene
f264b62823
ENT-1144 - rename "link_nodeinfo_party" table to "node_link_nodeinfo_… (#135)
* ENT-1144 - rename "link_nodeinfo_party" table to "node_link_nodeinfo_party"
2017-11-29 13:23:53 +00:00
Andrzej Cichocki
b45d9e957b
CORDA-654 Pass key constants into VaultFiller (#2118) 2017-11-29 12:51:01 +00:00
szymonsztuka
c32c21bc48 [ENT-1153] fix merge - revert feature for database integration test (Enterprise feature) 2017-11-29 10:51:49 +00:00
Andrzej Cichocki
dbe2dca7b9
CORDA-654 Make VaultFiller a class so I can change its hardcoded bits (#2141) 2017-11-29 09:49:34 +00:00
Michele Sollecito
cb1fa2e017
Corda now works with H2 without the need to allow Hibernate to create the database automatically. (#2124)
[CORDA-815]: Corda now instructs Hibernate to either adjust or validate the schema based on `devMode` property.

Also renamed property `database.initDatabase` to `database.createSchemaAutomatically`.

* [CORDA-815]: Renamed database.initDatabase to database.adjustSchemas.

* Code review changes: removed property `database.initDatabase` altogether.

* Code review changes: removed property `database.initDatabase` altogether.

* Code review changes: removed property `database.initDatabase` altogether.

* Code review changes: removed property `database.initDatabase` altogether.
2017-11-28 17:33:02 +00:00
Patrick Kuo
cc1fba641e
Integration test for http network map service (#2078)
* make node info file copying optional by setting "compatabilityZoneURL" in driver
integration test for node using http network map using driver
some bug fixes

* rebase to feature branch and fixup

* add initialRegistration flag to driver

* remove useFileBaseNetworkMap flag, add network map server to DriverTest

* remove useFileBaseNetworkMap flag, add network map server to DriverTest

* use PortAllocation.Incremental instead of random

* * use PortAllocation.Incremental instead of random
* fix NodeInfoWatcher thread leak issue

* reset scheduler before create notary

* move port allocation out of companion object

* move port allocation out of companion object

* make node info file copier lateinit to avoid observable thread pool get created on init
2017-11-28 13:58:48 +00:00
Andrzej Cichocki
ff9e7474b1
CORDA-654 Make MOCK_IDENTITIES less special (#2114)
* Make rigorousMock usable from Java
* Show args in mock failure message
2017-11-28 11:35:59 +00:00
Tudor Malene
7d75d95dc2 [ENT-1153]: fix merge 2017-11-28 10:42:40 +00:00
bpaunescu
614779d4ec
ENT-1128 fix node restarts when using AzureSQLServer (#2139) 2017-11-28 10:32:30 +00:00
Andrzej Cichocki
4bd6fef0f9
StateMachineManager is no longer lateinit. (#2123) 2017-11-27 17:55:08 +00:00
Shams Asari
9fefabbb88 Merge branch 'master' into shams-master-merge-271117 2017-11-27 17:08:13 +00:00
Shams Asari
4ca54b73fe Added tests to make sure the platform version is correctly available 2017-11-27 17:04:19 +00:00
Tudor Malene
a982bb2ae6 [ENT-1153]: fix merge 2017-11-27 16:55:06 +00:00
Tudor Malene
e8d833c2fe Merge remote-tracking branch 'open/master' into features/ENT-1153/merge_OS2ENT
# Conflicts:
#	.idea/compiler.xml
#	docs/source/changelog.rst
#	node/src/test/kotlin/net/corda/node/services/transactions/DistributedImmutableMapTests.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/NodeTestUtils.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/node/MockServices.kt
2017-11-27 16:52:29 +00:00
Shams Asari
2ceb6283af Moved X509Utilities, and some other crypto utilities in node, into node-api so that they can be used by services outside of the node.
There's also some cleanup as well.
2017-11-27 15:49:33 +00:00
Shams Asari
1705df4d1f Made the database config option typesafe, rather than relying on String properties 2017-11-27 13:51:53 +00:00
Andrzej Cichocki
449155cea3
IdentityService is no longer obtained lazily. (#2130) 2017-11-27 12:34:33 +00:00
Maksymilian Pawlak
ce9b6c1f18
CORDA-311-post PR merged fixes (#2106)
* SSH server integration
2017-11-23 16:34:57 +00:00
Konstantinos Chalkias
502d0df630
Mutual TLS auth - mixed RSA and ECDSA keys (#2095) 2017-11-23 16:07:08 +00:00
Tudor Malene
cdf061379e
ENT-1142 - added ddl scripts for postgres and missing idx to sqlserver (#127) 2017-11-23 15:59:59 +00:00
Tudor Malene
99d042ecd3
Add sqlserver ddl scripts (#126)
sqlserver ddl  for corda core and  cordapps
2017-11-22 16:19:20 +00:00
szymonsztuka
175bceb5e8
SQL Azure database compatibility (#113)
* Coin selection for SQL Server/Azure
* Transaction isolation level change for updateInfoDB in PersistentNetworkMapCache from "repeatableRead" to "readCommitted"
* Configuration option to prefix all Hibernate generated SQL with a schema name via a configuration property `database.schema`
* Fix negative value in SELECT TOP query (fix for Oracle db)
2017-11-22 12:28:38 +00:00
szymonsztuka
0f8baae962 Merge opensource into master 2017-11-21 18:53:14 +00:00
Shams Asari
9097107d2e Revert "Revert "Introducing network parameters.""
This reverts commit 953a4a3790.
2017-11-21 15:05:24 +00:00
Andrzej Cichocki
288eb5fcc4
CORDA-716 Call stop on InMemoryMessagingNetwork (#2077)
* Inline code used by only 1 test
* Remove superfluous interface
* Warnings crusade
* Inline Builder, remove unused method
* Remove stop from interface
* Register stops up-front
2017-11-21 12:49:21 +00:00
bpaunescu
15dbbb2de9
remove NodeState and nodeStateObservable remnants (#2102) 2017-11-21 12:03:51 +00:00
szymonsztuka
ad9f335dde
Consistent database columns naming convention. (#2097) 2017-11-21 09:57:38 +00:00
bpaunescu
c467a056ae
Revert CORDA-296: added rpc that returns an observable for node state (#2091)
* Revert "CORDA-296: added rpc that returns an observable for node state (#2004)"

This reverts commit 7d1f7ab

* Revert "CORDA-296: added rpc that returns an observable for node state (#2004)"

This reverts commit 7d1f7ab
2017-11-21 09:52:17 +00:00
Maksymilian Pawlak
e63b6d1386
CORDA-311 Shell via SSH server (#2087)
* SSH server integration
2017-11-20 17:41:38 +00:00
Rick Parker
6a2c170b82
Additional index to vault_states table to stop a table scan. (#2093) 2017-11-20 16:49:17 +00:00
Richard Green
d84e9aab7b Added exception if same attachment uploaded. Added test 2017-11-20 16:41:41 +00:00
Andrzej Cichocki
f26aa33553
Introduce contextLogger (#2085)
* Revert with comment, probably lazy for a reason.
2017-11-20 11:31:08 +00:00
Alberto Arri
273965f17a
remove cordacon code (#2082) 2017-11-20 11:24:19 +00:00
Mike Hearn
49cdad58c7 Minor: Add a brief comment to the RPC role setup code that explains the security justification for it. 2017-11-20 11:54:23 +01:00
Andrzej Cichocki
55e4688cc5
CORDA-787 Split NodeMessagingClient into 3 (#2063) 2017-11-20 10:33:13 +00:00
josecoll
ea1cd0035a Merge remote-tracking branch 'open/master' into colljos-merge-171117 2017-11-18 11:03:36 +00:00
Ross Nicoll
8e7165db41
CORDA-759: Enforce key checks on identity de-anonymisation (#1993)
Previously when de-anonymising a Party instance, the name of the Party was used rather than
the key, meaning a Party could be constructed with a random nonsense key and any name, and be treated as corresponding to the well known identity. This is not a security hole in itself as
in any real scenario a party shouldn't be trusted without having been registered, it creates
a significant risk of a security hole depending on how trusted the anonymous identity is, and
the returned identity is considered.
2017-11-17 18:13:35 +00:00
Ross Nicoll
1f98293377
Stabilise NodeStatePersistenceTests (#2079)
Pass notary identity into flow in `NodeStatePersistenceTests` rather than resolving it from the network map cache, which avoids a race condition between the flow starting and the notary registration being sent to the cache.
2017-11-17 18:13:10 +00:00
josecoll
fe34a4e7bc Merge remote-tracking branch 'open/master' into colljos-merge-171117 2017-11-17 15:38:25 +00:00
Tudor Malene
817748c87e
Performance improvement: cache app classloaders (#2060)
Cache results of the classpath scanning for cordapps
2017-11-17 15:35:05 +00:00
josecoll
7a9364c8d5 Merge remote-tracking branch 'open/master' into colljos-merge-171117
# Conflicts:
#	.idea/compiler.xml
#	build.gradle
#	client/rpc/src/integration-test/kotlin/net/corda/client/rpc/CordaRPCClientTest.kt
#	docs/source/changelog.rst
#	node/src/integration-test/kotlin/net/corda/node/services/AttachmentLoadingTests.kt
#	node/src/main/kotlin/net/corda/node/internal/StartedNode.kt
#	node/src/main/kotlin/net/corda/node/utilities/registration/HTTPNetworkRegistrationService.kt
#	samples/network-visualiser/build.gradle
#	samples/simm-valuation-demo/src/integration-test/kotlin/net/corda/vega/SimmValuationTest.kt
#	testing/node-driver/src/integration-test/kotlin/net/corda/testing/driver/DriverTests.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/driver/Driver.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/node/MockNode.kt
2017-11-17 15:11:24 +00:00
josecoll
f5c9fd8f44
Cross provider Issuer Reference database storage (#2032)
* consistent storage of Issuer Reference using `ByteArray` Kotlin type in Schema definition and a custom Hibernate Type to map this to a VARBINARY database type.
Creation of a new Issued type now also validates maximum size permissible (512).
2017-11-17 14:18:16 +00:00
Ross Nicoll
19aba62fc6
Move tests to using named identities (#1879)
Move tests to using named identities in preparation for multiple identities work. Includes:

* NetworkMapCacheTest
* NodeInterestRatesTest
* NodeVaultServiceTest
* ContractUpgradeFlowTest
* Cash tests
* AttachmentSerializationTest
* CordaRPCOpsImplTest
* VaultWithCashTest
* ScheduledFlowTests
2017-11-17 14:16:17 +00:00
Thomas Schroeter
9d6d027523
Merge pull request #2056 from thschroeter/raft-cluster-monitor-available-members
Raft notary cluster: metrics for available members
2017-11-17 13:14:25 +00:00
Andrzej Cichocki
aabc3c5b02
NodeInfo is no longer lateinit. (#2068) 2017-11-17 13:07:18 +00:00
Andrzej Cichocki
787de9d956
CORDA-716 Fix last of the test thread leaks (#2069)
* copycat servers/clients
* an SMM CheckpointChecker
* and log error rather than fail on propagation of stale inheritable thread local
2017-11-17 12:28:34 +00:00
Andrzej Cichocki
039cacae76
CORDA-787 Remove unused class (#2049)
* and refactor a superclass that isn't really one
* move it to internal
* misc refactorings
2017-11-17 12:24:55 +00:00
Thomas Schroeter
3d87a1a735 RaftCluster metrics for available members 2017-11-17 12:00:19 +00:00
Shams Asari
953a4a3790 Revert "Introducing network parameters."
This reverts commit d04e487
2017-11-17 10:04:38 +00:00
Ross Nicoll
e4f5e16bf4
Clean up identities in tests, stage 1 (#2059)
* Clean up identities in CashTests so that the mini/mega corp keys and identities are correctly
paired together throughout. Previously `miniCorpServices` presented the same key as the
MegaCorp identity, but with the name Mini Corp attached.
* Correct key/name matches in VaultWithCashTest
* Split services in CashTests to not have multiple identities per service hub
2017-11-16 17:17:45 +00:00
Andrzej Cichocki
37b34c6fc1
Remove unused code. (#2071) 2017-11-16 17:01:46 +00:00
Andrzej Cichocki
55bcf295ee
Move class to the only place that uses it. (#2067) 2017-11-16 14:40:39 +00:00
josecoll
5bdbd2457a
Removal of transaction contract state as BLOB in VaultStates table. (#2034)
* Removal of transaction contract state as BLOB in VaultStates table.
Transaction contract state now resolved using StateLoader (from DBTransactionStorage).

Fixed broken JUnits.

* Changes to address review comments by RP

Address logic error.

* Fixed failing JUnit (CashExitFlowTests.exit zero cash).

* Fix VaultQueryTests to respect transaction visibility boundaries.

* Adopt consistent use of "session" using DatabaseTransactionManager.

* Removed redundant transaction demarcation boundaries in Vault Query tests.
2017-11-15 19:28:04 +00:00
szymonsztuka
b423fea537
Consistent database tables naming convention. (#2064)
* Added explicit table names (mostly for join tables).
* Shorten or alter name of 2 tables backing notaries.
* Change a compound index declaration to one column index.
2017-11-15 18:35:26 +00:00
Ross Nicoll
d78308f510
Detangle issuers in NodeVaultServiceTest (#2057)
Detangle issuers in NodeVaultServiceTest, which has been using two keys on a single node, for different
issuing identities, which doesn't work right now because we don't actually have multiple identity support.

Also remove duplicate data in parameters to fillWithSomeTestCash().
2017-11-15 15:26:17 +00:00
Rick Parker
7337996e08
Add config library and default config to webserver JAR (#2047)
* Add config library and default config to webserver JAR

* Applied Clinton's feedback to create a config rather than do filtering.
2017-11-15 15:03:15 +00:00
Michele Sollecito
92c8861802
[CORDA-760]: Propagate invocation context across the codebase. (#2016) 2017-11-15 14:58:43 +00:00
szymonsztuka
4f2d8d058e
Ability to run integration tests against standalone databases (part 2) (#109)
Commit 359610ff14 didn't fully covered:
* Integration tests extends IntegrationTest class which can run SQL scripts before and after a test and before and after test class.

*Driver.kt creates notaries without a table name prefixes (separation is achieved by using different user/schema).

*Revert wrongly altered H2 JDBC connection string for tests.
2017-11-15 14:04:48 +00:00
szymonsztuka
f0a5ea96e7
Consistent database columns naming convention. (#2043)
* Consistent database column naming convention.
* Remove a column length constraint in NodeAttachmentService.
2017-11-15 13:09:25 +00:00
Thomas Schroeter
419fe5063f
Merge pull request #2055 from thschroeter/thomas-store-raft-index
Store Raft commit index in DistributedImmutableMap
2017-11-15 11:40:00 +00:00
Andrzej Cichocki
b5fffa76f2
Retire a lateinit var. (#2038) 2017-11-15 11:24:27 +00:00
Andrzej Cichocki
c4a9320e70
CORDA-716 Don't allow the netty global executor to inherit serialization env holder (#2048)
and close some dangling RPC connections.
2017-11-15 11:22:35 +00:00
Thomas Schroeter
ecd09b7e6c Store raft commit index in DistributedImmutableMap 2017-11-15 10:52:22 +00:00
Thomas Schroeter
2577c75f28
Merge pull request #2046 from thschroeter/thomas-remove-snapshotting
CORDA-767: Raft Notary: remove snapshotting
2017-11-15 09:59:34 +00:00
Thomas Schroeter
fc8ed34205 Switch from compaction mode sequential to full
Full requires the command to be `closed` before it can be removed from
the log during compaction. We don't close commands, thus and retaining
the log forever, allowing users to increase the cluster size. The
downsize is the unbounded growth of the size of the log.

Cluster membership changes need testing.
2017-11-14 16:34:41 +00:00
Thomas Schroeter
0d2382619b Raft Notary: bootstrap command line flag 2017-11-14 13:51:21 +00:00
Patrick Kuo
64a9946f03
Replace artemis network map with http network map (#1970)
* Network map cache using Network map client instead of artemis. -- WIP

* fix up after rebase

* address PR issues, split network map update test, added todos to remove sleeps

* move jimfs and baseDir to field variable
2017-11-14 11:37:50 +00:00
szymonsztuka
3627cc9fc2
Vault query - return single column which groups multiple aggregation functions.
* Vault query was returning redundant selects (repeated column used to 'group by') for query with multiple aggregation functions.
2017-11-14 11:20:57 +00:00
Andrzej Cichocki
2d997b1fa7
Retire verifierDriver serialization init. (#2026) 2017-11-14 10:45:36 +00:00
Thomas Schroeter
b23e727685 Raft Notary: change compaction mode to sequential
Keep log until it has been applied to all replicas.
2017-11-14 10:39:16 +00:00
Thomas Schroeter
cf33be66ff Raft Notary: remove snapshotting 2017-11-14 10:39:16 +00:00
Maksymilian Pawlak
1a02c9a74f
AttachmentCriteriaQuery class and infrastructure (#2022)
* Attachments metadata support
2017-11-14 10:22:02 +00:00
Ross Nicoll
c583af8f4b
Add AbstractPartyDescriptor to stop Hibernate warning (#1878) 2017-11-13 18:04:38 +00:00
szymonsztuka
359610ff14
Ability to run integration tests against standalone databases
* Additional database confing and implied property ${nodeOrganizationName}.
* Integration tests extend from base class which allows to configure database connection (in-memory/remote db) and to run setup/tear down SQL scripts.
2017-11-13 17:29:57 +00:00
Andrzej Cichocki
b8b3911ceb
Fix the BFT startup consensus workaround. (#2042) 2017-11-13 15:45:26 +00:00
Ross Nicoll
076a8ab937
Step through cert path when registering (#2027)
Ensure when registering identities, we store the certificate closest to the trust root, with the same name. This ensures that looking up an identity by name produces the best match, not earliest registered identity (often but not necessarily the same).
2017-11-10 17:41:45 +00:00
Andrzej Cichocki
6a569fb3f1
Retire findTokenizableService. (#2036) 2017-11-10 16:40:18 +00:00
Andrzej Cichocki
052124bbe0
CORDA-716 Make serialization init less static (#1996) 2017-11-10 15:44:43 +00:00
Christian Sailer
2a83167d3b
Merge pull request #2024 from corda/christians_public-key-caching-hooks
Public key customization hooks
2017-11-10 13:37:37 +00:00
Christian Sailer
52dea9e5c3
Merge pull request #1958 from corda/christians_nodeconfig-fix
Add helper for checking whether to check checkpoints and unit test it.
2017-11-10 11:28:13 +00:00
Andrzej Cichocki
6b71c6cf75
Retire some initialiseSerialization booleans. (#2019) 2017-11-10 10:15:55 +00:00
Christian Sailer
219433c3cd Hooks for PublicKeySerializer 2017-11-09 14:49:23 +00:00
bpaunescu
7d1f7ab53d
CORDA-296: added rpc that returns an observable for node state (#2004)
* CORDA-296: added rpc that returns an observable for node state; used to let rpc clients know that the know is about to shut down

* replaced node shut down observation String with enum
2017-11-08 12:44:10 +00:00
Andrzej Cichocki
a036a6300c
Enforce serialization API for Java. (#2014) 2017-11-08 11:49:52 +00:00
Shams Asari
117261caa4 Retired getDefaultNotary test extension method.
Most uses where with MockNetwork which recently got a defaultNotaryIdentity property for dealing with the default single notary case. The remaining uses where in flows.
2017-11-07 21:20:43 +00:00
Shams Asari
e26e41a384 Various structural cleanups of node-driver:
* Extracted out ShutdownManager into its own file
* Moved RPCDriver and ProcessUtilities into internal package
* Made n.c.testing.performance package internal
2017-11-07 16:58:40 +00:00