48 Commits

Author SHA1 Message Date
Anthony Keenan
b260f8a60a Another slight change needed here 2018-10-09 16:32:51 +01:00
Viktor Kolomeyko
95de18b1ca
ENT-2500: Improve formatting when no traffic flown through Bridge. (#1447)
Without this change the following output can be observed:
```
...
Traffic breakdown:
	Successful connections in:

	Successful connections out:

	Failed connections in:

	Failed connections out:

	Accepted packets in:

	Accepted packets out:

	Dropped packets in:

	Dropped packets out:
```
2018-10-04 13:59:07 +01:00
Viktor Kolomeyko
50a1819e47
ENT-2559: Gracefully handle Artemis connectivity loss during Bridge leader election (#1436)
* ENT-2559: KDocs update and change visibility identifiers.

* ENT-2559: Handle upstream dependencies going up and down.

* ENT-2500: Address code review comments by @mnesbit
2018-10-03 18:56:15 +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
Christian Sailer
532d95ccac
ENT-1565 Enable the use of BoringSSL (#1358)
* 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
2018-10-01 13:59:52 +01:00
Michele Sollecito
ce0bf9eb2e Fixing compilation. 2018-09-05 13:11:53 +01:00
Michele Sollecito
31e58dd2e5 [CORDA-1937]: Fixes to enterprise float and bridge. 2018-09-04 11:20:34 +01:00
Shams Asari
11e2bef240
ENT-2473: Removed copyright headers (#1364) 2018-09-03 16:38:52 +01:00
Thomas Schroeter
047489ba7e
Allow base dir and config file (#1331) 2018-08-17 13:55:41 +01:00
Michele Sollecito
927c6ab28b Fixed a compilation error. 2018-07-23 16:53:50 +01:00
Stefano Franz
480698bc46 Merge remote-tracking branch 'open/master' into my-merge-july-11-11-27
# Conflicts:
#	CONTRIBUTORS.md
2018-07-11 11:37:49 +01:00
Viktor Kolomeyko
1f5520ca40
CORDA-1743: Remove "isDebug = true" leftovers in the Enterprise. (#1236) 2018-07-11 10:28:40 +01:00
Shams Asari
04809538cd Merge fix 2018-07-09 12:39:43 +01:00
Shams Asari
300e0573fe
Merge pull request #1205 from corda/os-merge-244167d
O/S merge from 244167d
2018-07-05 17:16:52 +01:00
Shams Asari
0c8c914882 Removing warnings 2018-07-05 15:45:28 +01: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
Matthew Nesbit
0d18bf8e33 Merge up of cleanup of AMQP protocol code 2018-07-03 17:05:05 +01:00
szymonsztuka
2d61c76d9d Fix integration test in database mode for test added in ENT-2053 (#1138) 2018-06-29 09:52:36 +01:00
bpaunescu
ddcdb370b3
ENT-2053 Artemis cleanup fix (#987)
* 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
2018-06-20 13:06:24 +01:00
Rick Parker
c7c38fd91c
ENT-2053 Fix messaging TTL related settings causing disconnects (#1011) 2018-06-18 17:40:03 +01:00
Matthew Nesbit
8af17d4c3e During testing I observed a race condition where the bridge losing master status was terminated by the dual bridge detection logic. This code defers teh m,aster claim a few seconds to prevent thsi race condition. 2018-05-31 14:32:20 +01:00
Matthew Nesbit
f98bf4db14 The Artemis reconnection logic failed in test, because there were active artemis bridge connections. Correct the integration test, fix the bridging code and log all onError cases in the bridge. 2018-05-29 18:14:35 +01:00
Tudor Malene
7a08ebca5a Fix merge 2018-05-21 14:37:59 +01:00
Shams Asari
210a0bc9a5 Merge branch 'master' into os-merge-2907250 2018-05-21 11:26:23 +01:00
Shams Asari
b2f41d82f9 Merge fixes 2018-05-21 11:25:13 +01:00
Matthew Nesbit
93245ac07d Set the confirmationWindowSize setting in the bridge Artemis link. To reduce spam logging and improve performance.
Fixup doc pictures to match CRL config change
2018-05-21 09:52:04 +01:00
Katelyn Baker
c84bb7ebe0 More Fixes to cleanup after GitHub 2018-05-18 17:03:28 +01:00
Katelyn Baker
819200ee3e Create bridge serialization scheme to remove newly added dep on node 2018-05-17 17:17:22 +01:00
Matthew Nesbit
2b39e63a3f Wire up the maxMessageSize work in the bridge. 2018-05-17 15:51:42 +01:00
Katelyn Baker
a9ff1ac262 OS MERGE
Looks like Max Message size causes all sorts of issues in the bridge,
some fixes to some issues but this needs a lot more work
2018-05-17 15:21:37 +01:00
Matthew Nesbit
0b4e3ea5c7 Add exponential backoff to bridge Artemis reconnection 2018-05-17 08:17:09 +01:00
Matthew Nesbit
7cb6ed74d1 Allow HA topic in zookeeper to be configurable and test it. 2018-05-16 14:45:50 +01:00
Matthew Nesbit
1d1d05086f Change the FloatInner config property to BridgeInner to be more consistent. 2018-05-14 14:30:32 +01:00
Matthew Nesbit
ebe6d5060e Fix flaky integration test
Reenable broken smokeTest so I can investigate

Testing testing

Testing testing

remove debug
2018-05-14 11:40:25 +01:00
Andrius Dagys
524ba27721 Fix merge issues 2018-05-03 13:52:11 +01:00
Michal Kit
e5e98f3540 Merge OS commit 'ab80df342ab8a7ede0539daaee9fcecd02f6aeeb' into enterprise 2018-05-03 10:55:40 +01:00
Matthew Nesbit
94bb3bd0bf The bridge HA configuration string was meant to be URL like. Correct the typo in this from zk//: to zk:// 2018-05-02 14:36:02 +01:00
Matthew Nesbit
70ca8f6d6f Add an example config with SOCKS config and a trivial test to prove we can load it.
Address PR comment
2018-04-27 12:56:34 +01:00
Matthew Nesbit
6d270685aa Add Artemis round-robin support for node hot-cold in-process Artemis modes. 2018-04-23 16:14:10 +01:00
Matthew Nesbit
942da1b8e0 First cut HA for bridge
Simple implementation of bridge HA logic. Fix of shading magic in gradle. Removal of exposed curator classes from node-api interface.

Simple implementation of bridge HA logic. Fix of shading magic in gradle. Removal of exposed curator classes from node-api interface.

Modify leader priority test to catch lexical rather than numeric sorting.
2018-04-19 16:00:11 +01:00
Matthew Nesbit
e51de2739c When discarding invalid messages we should consume them. When starting up wait for node bridge registration before activating the float, otherwise we have a race condition.
Reduce excessive logging

Address PR comments

Address PR comments
2018-04-11 15:26:27 +01:00
Matthew Nesbit
2b55a8f67e Merge remote-tracking branch 'remotes/open/master' into mnesbit-merge-20180411
# Conflicts:
#	node/src/integration-test/kotlin/net/corda/node/amqp/AMQPBridgeTest.kt
#	node/src/main/kotlin/net/corda/node/services/config/NodeConfiguration.kt
#	node/src/main/resources/reference.conf
#	node/src/test/kotlin/net/corda/node/services/config/NodeConfigurationImplTest.kt
2018-04-11 14:00:56 +01:00
Shams Asari
7296369541 Merge fixes 2018-04-04 14:52:24 +01:00
Matthew Nesbit
e79989cc8f Fixup support for customized certificate configuration
Fix typo
2018-04-03 11:56:10 +01:00
Matthew Nesbit
8ed6c556e4 Add copyright to new bridge files 2018-03-20 10:07:08 +00:00
Matthew Nesbit
6885661b66 Initial cut of SOCKS proxy support
Correct the reconnect logic when SOCKS proxy is in the pipeline

Add integration tests and adjust handling of reconnect

Rename parameter
2018-03-19 11:37:46 +00:00
Shams Asari
a99a910730
Removed duplicate SignedNetworkParameters and SignedNetworkMap type aliases (#562) 2018-03-15 20:55:40 +00:00
Matthew Nesbit
d592fb5c49 Create basic bridge module and capsule build
Basic pieces of bridge, still very rough

Work in progress

Fixes after rebase

Primitive float tunnel implementation

Put explanatory comments on the interfaces. Add support for different SSL KeyStores for the different connections to/from the bridge and float.

Add a couple more comments

Cleanup

Fix some issues

Use a new custom header to relay the login identity from bridges. (Will add more security to this shortly)

Make key protection logic a bit clearer in the comments

Create some basic test and integrationTests

Add a couple of tests of the BridgeAMQPListenerService

Add some basic tests

Correct comment

Fixup after rebase

Fixup after rebase

Fixup after rebase

Explicit parameter types to work on build box.

Address PR comments

Address some of Mike's PR comments.

Re-enable test on enterprise.

Don't sweep up node default config

Remove obsolete config entry

Correct merge mistake

Configurable whitelist headers on bridge

Don't access primary artemis session from different threads used by inbound packet pathway.

Fix unit test
2018-03-14 11:08:09 +00:00