12 Commits

Author SHA1 Message Date
Viktor Kolomeyko
482277bad1
ENT-2689: Change SSL config structure (#1551)
* ENT-2689: Intent of the changes to be made (doesn't compile)

* ENT-2689: Propagate renaming of `customSSLConfiguration`

* ENT-2689: Documentation update

* ENT-2689: More renaming

* ENT-2689: Add a test for SSL keystores location override

* ENT-2689: Add V3 configuration compatibility unit tests (failing for now)

* ENT-2689: Add ability to read V3 configs.

* ENT-2689: Reflect changes on Integration tests.

* ENT-2689: For BridgeControlListener use Artemis SSL configuration if specified, otherwise fall back onto main SSL configuration.

* Revert: ENT-2689: For BridgeControlListener use Artemis SSL configuration if specified, otherwise fall back onto main SSL configuration.

And rename `p2pSslOptions` to `publicSSLConfiguration`.

* ENT-2689: Move V3 config structures into a separate file.
2018-11-13 16:34:41 +00:00
Matthew Nesbit
51e9ef0cc0 Initial stage of Bully Algorithm Leader election
Some artemis reconnect logic

Fix disconnect behaviour of BullyLeader code and improve Artemis shutdown behaviour when disconnected.

Integrate Bully Algorithm leader elector with the bridge

Fix docs

Remove pointless header change
2018-11-09 09:34:44 +00:00
Viktor Kolomeyko
400346fff0
ENT-2669: Introduce option for HTTP proxy for outbound Bridge connectivity (#1537)
* ENT-2669: Introduce option for HTTP proxy for outbound Bridge connectivity

One of our customers currently using HTTP proxy without which outbound connection from Corda Node cannot be established.
Also, propagate `trace` setting correctly down the Bridge stack.

* ENT-2669: Compilation fixes.

* ENT-2669: Revert deleted constructor back.

* ENT-2669: First stub on HTTP Proxy integration test.

* ENT-2669: Minor changes.

* ENT-2669: Reduce test to bare minimum.

* ENT-2669: Attempt to write own HttpProxy.

* ENT-2669: Another attempt to make programmatic HttpProxy work.

* ENT-2697: Disable DNS resolution before sending requests to proxies.

* ENT-2669: Switch to use Jetty HttpProxy for integration testing.

* Adds a pipeline logger ahead of the proxy stage if trace is set. The logging is removed once the proxy completes.

Define a constant for pipeline stage.
2018-11-08 09:04:36 +00:00
Viktor Kolomeyko
513305ee7d
ENT-2669: SocksProxy rename into Proxy (#1533)
* ENT-2669: Rename SocksProxyVersion into ProxyVersion

* ENT-2669: Rename SocksProxyConfig into ProxyConfig

Update documentation and make code changes such that old style configs are still parsed.

* ENT-2669: Changelog update
2018-11-02 16:07:41 +00:00
Viktor Kolomeyko
63f80d1fb5
ENT-2636: Introduce healthCheckPhrase which can be used for TCP Echo check (#1504)
* ENT-2636: Introduce ModeSelectingChannel

Next step: Add an integration test.

* ENT-2636: Explicitly retain/release ByteBuf

* ENT-2636: Use ByteBuf API and stop using `java.nio.ByteBuffer`

* ENT-2636: Add new optional FirewallConfiguration parameter

* ENT-2636: Simplify implementation of ModeSelectingChannel

* ENT-2610: Create integration test to check response on TCP call and fixes to ModeSelectingChannel

* ENT-2610: Extend integration test fixes to ModeSelectingChannel

Doesn't currently work well for longer messages.

* ENT-2610: Extend integration test fixes to ModeSelectingChannel

Doesn't currently work well for longer messages.

* ENT-2610: Fixes to ModeSelectingChannel so it works well for longer messages.

* ENT-2610: Reflect `healthCheckPhrase` from `FirewallConfiguration` onto `AMQPConfiguration`

* ENT-2610: Incorporate review comments by @mnesbit

* ENT-2636: Extend the test to drip feed bytes one-by-one.

Also remove TRACE level packet logging for speed and log space reduction.

Logging-wise the following printed into the log every time TCP echo performed:
```
[INFO] 11:03:16,016 [nioEventLoopGroup-5-1] logging.LoggingHandler.info - [id: 0x202c2137, L:/0:0:0:0:0:0:0:0:10001] READ: [id: 0x073fda76, L:/10.18.1.203:10001 - R:/10.18.1.203:59274]
[INFO] 11:03:16,016 [nioEventLoopGroup-5-1] logging.LoggingHandler.info - [id: 0x202c2137, L:/0:0:0:0:0:0:0:0:10001] READ COMPLETE
[INFO] 11:03:16,018 [nioEventLoopGroup-6-4] netty.AMQPChannelHandler.invoke - New client connection 073fda76 from /10.18.1.203:59274 to /10.18.1.203:10001 {allowedRemoteLegalNames=null, localCert=null, remoteAddress=/10.18.1.203:59274, remoteCert=null, serverMode=true}
```
2018-10-25 12:33:30 +01:00
Anthony Keenan
abfe538e6e
ENT-2611: Standardise CLI for corda firewall (#1503)
* Update firewall to use picocli

* Update documentation

* Remove joptsimple dependency

* Fix broken tests

* Grammar fix
2018-10-25 08:37:20 +01:00
Viktor Kolomeyko
19b4e68903
ENT-2610: Separate passwords for store and for private keys (#1483)
* ENT-2610: Documentation update to include optional `keyStorePrivateKeyPassword`.

* ENT-2610: Documentation update to include optional `keyStorePrivateKeyPassword`.

* ENT-2610: Disruptive change to `CertificateStore` (will cause compilation failures)

* ENT-2610: Address compilation failures caused by separation of `storePassword` and `keyPassword` e.g. in `X509KeyStore`

* ENT-2610: Docs update to flag that passwords have to be the same due to Artemis limitations.

* ENT-2610: Make changes to `bridge` module.

Make private key password optional in `BridgeSSLConfigurationImpl` and extend `ConfigTest`.
Also improve exception reporting when necessary option is missing.

* ENT-2610: Fixes to `bridge` integration tests.

* ENT-2610: Whenever it comes to Dev node certificates ensure that private key password is the same as store password
or else Artemis is not going to accept that, see comment in DevIdentityGenerator.

* ENT-2610: More unit test fixes

* ENT-2610: More integration tests fixes

* ENT-2610: Fix netty code to use `privateKeyPassword` where necessary

* ENT-2610: Remove the use of `keyPassword` for `trustStore`

* ENT-2610: Compilation fixes after merge from `master`

* ENT-2610: Add an integration test which proves that diff. passwords work
2018-10-23 16:05:08 +01:00
Patrick Kuo
48307e6844
make sure the doc saids TLS 1.2 whenever we mention it with AMQP1.0, to avoid confusion. (#1455)
* make sure the doc saids TLS 1.2 whenever we mention it with AMQP1.0, to avoid confussion.

* added missing changes
2018-10-08 09:48:05 +01:00
Viktor Kolomeyko
8c23abbd7a
ENT-2500: Corda Firewall should log some packet statistics (#1426)
* ENT-2500: Refactoring to allow FirewallAuditService have inbound as well as outbound logging.

Change some visibility modifiers to `private`. Use in-place initialisation where possible.

* ENT-2500: Record accepted package coming into Float

* ENT-2500: Introduce optional BridgeAuditService in `nodeApi` module

* ENT-2500: Switch FirewallAuditService to use `ApplicationMessage` and bind outgoing message stats.

* ENT-2500: Introduce scheduled executor and audit service configuration.

* ENT-2500: Stats formatting.

* ENT-2500: Stats formatting unit test.

* ENT-2500: Minor changes to LoggingFirewallAuditService and its unit test.

* ENT-2500: Additional configuration parameter documentation update.

* ENT-2500: Supply optional parameter.

* ENT-2500: Address PR comments.

* ENT-2500: Make API more consistent by using `RoutingDirection`, re-jig `State` data structure, improve unit test.

* ENT-2500: Add breakdown by endpoint address.

* ENT-2500: Compilation fix after rebase in `master`.

* ENT-2500: Making `AuditServiceConfiguration` not optional and supplying default settings.
Also few minor changes.
2018-10-02 14:13:08 +01:00
Patrick Kuo
7b230de4d2
ENT-2492 - Test and document configuration for 'shareable' datacenter-wide Zookeeper deployment (#1429)
* zookeeper doc
* explicitly mention hot/hot is not supported
* change zookeeper to ZooKeeper
* change doc link to v3.5.3
* add note stating only zookeeper v3.5.3-beta is compatible
2018-10-02 13:22:38 +01:00
Austin Moothart
c36aac5f5d consistent cert organization 2018-07-24 16:08:39 -04:00
Matthew Nesbit
123a2af5e0 Bridge to Firewall renames
More renaming

Update diagrams

Update changelog to point out breaking change fo the rename

Address Richard's PR comments
2018-07-05 15:20:28 +01:00