* ENT-2681: Add explicit warning in the log explaining why parsing according to new configuration format has failed.
(Before trying ot use old config format)
* ENT-2681: Correctly report original error when parsing using old config format failed.
* 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.
* ENT-2655: added a lock on leader status to ensure no clients can be leader at the same time
* ENT-2655: reworked tests to not use hacky timeouts, now check for max 1 leader at any given time, improved error handling in the latch
* ENT-2655: address PR comments and use atomic int properly
* 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
* ENT-1394: artemis locators for HA bases on configuration
* ENT-1394: bridge artemis connection service with HA impl
* ENT-1394: added own round robin logic for artemis client connections
* ENT-1394: added support for external clustered artemis to internal RPC client
* ENT-1394: added failover listener to internal rpc client, some cleanup
* ENT-1394: remove unused import
* ENT-1394: refactored after rebasing
* ENT-1394: refactored after rebasing, addressed PR comments
* ENT-1394: got rid of HA connection service in favor of a simple check inside current one
* ENT-1394: ha locator gets its own thread to handle failover that happens behind the scenes
* ENT-1394: move ha artemis flag in the outboundConfig
* ENT-1394: haArtemis flag has default value in constructor
* ENT-1394: address PR comment, handle status change during failover
* ENT-1394: reverted usage of ha locator
* ENT-1394: ensure that on failover the p2pclient sends a fresh snapshot to the bridge
* 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}
```
* 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
* ENT-2295: added SNI support to bridge
* ENT-2295: removed unused method args, adde new line
* ENT-2295: fix checking for existing bridges
* ENT-2295: fix AMQPBridgeTest(included source x500 name in messages)
* ENT-2295: fix ProtonWrapperTests (added source id and only check for SNI if bridge is shared)
* ENT-2295: fixed issue with artemis round robin not working when autogrouping was on
* ENT-2295: adapt to use openSSL, added SNI tests
* ENT-2295: server side openSSL now uses SniHandler magic
* ENT-2295: service queues are not exclusive
* ENT-2295: remove check for nodes sharing artemis when resolving targets
* ENT-2516 SNI - Log the requested server name (if any) in the AMQPServer (#1454)
* WIP
* log server name in ssl handshake
* big fix
* handle nullable sslParameters
* ENT-2295: address PR comments
* ENT-2295: remove unused imports
* ENT-2295: fix warnings
* ENT-2295: address PR comments
* ENT-2295: added node to node intergration tests, added openssl dep to bridge capsule
* ENT-2295: message group id is unique for service queues
* ENT-2295: address PR comment
* 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.
* BoringSsl dependency
* Merge over boring_ssl changes
* Merge over boring_ssl changes
* Upgrade netty-tcnative (and netty to compatible version)
* Add openSSL flag to SSLConfiguration and implementations.
* Make SSL implementation switchable for Artemis
* Parameterize AMQP bridge tests on use of openSSL
* Plumb through open SSL flag to AMQP client/server.
* Add open ssl flag to reference.conf
* Slight clean-up
* Add LoggingTrustManagerWrapper for OpenSsl contexts
* Remove unneeded lazy and check for double wrapping
* Fix TrustMangerWrapper and test, clean-up
* Add key factory wrapper to get the current certificate chain out.
* Use cert chain returning key mananager factory to get local cert
* Force consistent netty-tcnative version across all dependencies
* Make proton wrapper tests check all combinations of client/server native/java SSL
* Add test netty server/client to run SSL tests with
* Simplify usage of test netty components and clean up
* Improve exception handling in NettyTestHandler
* Add openSSL test for X509UtilitiesTests
* Expose engine for test usage
* Add the X509 peer chain check from the socket based test
* Port of TLSAuthenticationTests to use Netty so we can use different SSL providers, add boringSSL tests
* Adapt tests to new config structure
* Readd `useOpenSsl` configuration
* Readd `useOpenSsl` configuration
* Fix up ArtemisTransport for OpenSSL plus tests
* Adapt auth tests
* Formatting
* Remove obsolte file
* Fix config misnomer
* Add SNI host logic to OpenSSL execution branch
* Remove TLS_DHE_RSA tests
* Make exception handling in the netty test infra deterministic
* Bridge kill test
Fix Artemis settings
ENT-2053: add quasar for gradle file
Add several flow + bridge kill test
Debugging
Potential fix
* ENT-2053: create p2p queues in exclusive mode to avoid reordering when bridge is killed
* ENT-2053: add exclusive flag to rest of p2p queues
* ENT-2053: check addresses' types when creating queues for exclusive mode
* Revert "Debugging"
This reverts commit d48a49c91f3fba0609b9b744c78fc671f4a92076.
* ENT-2053:address PR comments