[JAVA-3038] Add built-in support for TLS in the async driver Created: 08/Oct/18  Updated: 28/Oct/23  Resolved: 16/Jan/19

Status: Closed
Project: Java Driver
Component/s: Async
Affects Version/s: None
Fix Version/s: 3.10.0

Type: New Feature Priority: Major - P3
Reporter: Jeffrey Yemin Assignee: Jeffrey Yemin
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
is related to JAVA-3037 Move Netty stream support to a separa... Closed
is related to JAVA-3114 Deprecate ConnectionString streamType... Closed
Epic Link: Native Async SSL
Backwards Compatibility: Fully Compatible

 Description   

To ease use of the async driver and remove the need for a dependency on Netty, add built-in support for TLS in the async driver.   

TODO:

  •  Fix RetryableWritesTest
  •  Replace SLF4J with driver's Logger API
  •  Enable host name verification
  •  Make TlsChannel the default when SSL is enabled
  • Address logging TODO's
  • Address exception handling TODO
  • Update License headers and THIRD-PARTY-NOTICES
  • Make BufferProviderAllocator more efficient
  •  Address TODO in BufferHolder


 Comments   
Comment by Githook User [ 16/Jan/19 ]

Author:

{'username': 'jyemin', 'email': 'jeff.yemin@10gen.com', 'name': 'Jeff Yemin'}

Message: In tests, use TlsChannel when possible, otherwise use Netty

JAVA-3038
Branch: 3.10.x
https://github.com/mongodb/mongo-java-driver/commit/d21ff56a2bc6da062971ffe8d72432ddd4056a9f

Comment by Githook User [ 16/Jan/19 ]

Author:

{'username': 'jyemin', 'email': 'jeff.yemin@10gen.com', 'name': 'Jeff Yemin'}

Message: Default to TlsChannelStreamFactoryFactory in async

when running on Java 8+ and SSL is enabled

JAVA-3038
Branch: 3.10.x
https://github.com/mongodb/mongo-java-driver/commit/f4b62743a444ecfa602dc091d99548f0c5cadb78

Comment by Githook User [ 16/Jan/19 ]

Author:

{'username': 'jyemin', 'email': 'jeff.yemin@10gen.com', 'name': 'Jeff Yemin'}

Message: Add connectivity test for async

JAVA-3038
Branch: 3.10.x
https://github.com/mongodb/mongo-java-driver/commit/1c7dcfb482201380d62af161e883eadf8e237cd6

Comment by Githook User [ 16/Jan/19 ]

Author:

{'username': 'jyemin', 'email': 'jeff.yemin@10gen.com', 'name': 'Jeff Yemin'}

Message: Refactor AsynchronousSocketChannelStream

AsynchronousSocketChannelStream now extends common base class
AsynchronousChannelStream along with TlsChannelStream.

JAVA-3038
Branch: 3.10.x
https://github.com/mongodb/mongo-java-driver/commit/1cd73b2656d5f26151ffc3991982bfca90e6697a

Comment by Githook User [ 16/Jan/19 ]

Author:

{'username': 'jyemin', 'email': 'jeff.yemin@10gen.com', 'name': 'Jeff Yemin'}

Message: Add TlsChannel stream support

JAVA-3038
Branch: 3.10.x
https://github.com/mongodb/mongo-java-driver/commit/96f29a11b223d3afb78b2ed81dda869a2468d660

Comment by Githook User [ 16/Jan/19 ]

Author:

{'username': 'jyemin', 'email': 'jeff.yemin@10gen.com', 'name': 'Jeff Yemin'}

Message: Vendor https://github.com/marianobarrios/tls-channel@0.2.0

Modified to conform to driver style and compile at Java 6 language level

JAVA-3038
Branch: 3.10.x
https://github.com/mongodb/mongo-java-driver/commit/07d2e80423c214cea79b9917b72f939af39eafe0

Comment by Githook User [ 16/Jan/19 ]

Author:

{'username': 'jyemin', 'email': 'jeff.yemin@10gen.com', 'name': 'Jeff Yemin'}

Message: Add earlier check for failure in RetryableWritesTest

JAVA-3038
Branch: 3.10.x
https://github.com/mongodb/mongo-java-driver/commit/9b19e9372529225539e06c34675a63447b0541ef

Comment by Githook User [ 16/Jan/19 ]

Author:

{'username': 'jyemin', 'email': 'jeff.yemin@10gen.com', 'name': 'Jeff Yemin'}

Message: Improve CallbackResultHolder exception message to aid debugging

JAVA-3038
Branch: 3.10.x
https://github.com/mongodb/mongo-java-driver/commit/2f1a4c72c7ff8cb68972caa7b02dd03b160d92ac

Comment by Githook User [ 16/Jan/19 ]

Author:

{'username': 'jyemin', 'email': 'jeff.yemin@10gen.com', 'name': 'Jeff Yemin'}

Message: In tests, use TlsChannel when possible, otherwise use Netty

JAVA-3038
Branch: master
https://github.com/mongodb/mongo-java-driver/commit/a88fccf1449090c6dfb109d59cb48ecc2bc64b47

Comment by Githook User [ 16/Jan/19 ]

Author:

{'username': 'jyemin', 'email': 'jeff.yemin@10gen.com', 'name': 'Jeff Yemin'}

Message: Default to TlsChannelStreamFactoryFactory in async

when running on Java 8+ and SSL is enabled

JAVA-3038
Branch: master
https://github.com/mongodb/mongo-java-driver/commit/a03ddc429246f4235667881ddb75ec5f134c57a7

Comment by Githook User [ 16/Jan/19 ]

Author:

{'username': 'jyemin', 'email': 'jeff.yemin@10gen.com', 'name': 'Jeff Yemin'}

Message: Add connectivity test for async

JAVA-3038
Branch: master
https://github.com/mongodb/mongo-java-driver/commit/2f4fb69e38abc7683a138a4f489d82a5eae308c9

Comment by Githook User [ 16/Jan/19 ]

Author:

{'username': 'jyemin', 'email': 'jeff.yemin@10gen.com', 'name': 'Jeff Yemin'}

Message: Refactor AsynchronousSocketChannelStream

AsynchronousSocketChannelStream now extends common base class
AsynchronousChannelStream along with TlsChannelStream.

JAVA-3038
Branch: master
https://github.com/mongodb/mongo-java-driver/commit/7a9cf9a1d5d37d65558ee8915f2f6359afca6382

Comment by Githook User [ 16/Jan/19 ]

Author:

{'username': 'jyemin', 'email': 'jeff.yemin@10gen.com', 'name': 'Jeff Yemin'}

Message: Add TlsChannel stream support

JAVA-3038
Branch: master
https://github.com/mongodb/mongo-java-driver/commit/9b93549c73038628125ea5140be4fe03b4325731

Comment by Githook User [ 16/Jan/19 ]

Author:

{'username': 'jyemin', 'email': 'jeff.yemin@10gen.com', 'name': 'Jeff Yemin'}

Message: Vendor https://github.com/marianobarrios/tls-channel@0.2.0

Modified to conform to driver style and compile at Java 6 language level

JAVA-3038
Branch: master
https://github.com/mongodb/mongo-java-driver/commit/3f3d0abb8b4ae388622dcf1dde3657cfeeff2493

Comment by Githook User [ 16/Jan/19 ]

Author:

{'username': 'jyemin', 'email': 'jeff.yemin@10gen.com', 'name': 'Jeff Yemin'}

Message: Add earlier check for failure in RetryableWritesTest

JAVA-3038
Branch: master
https://github.com/mongodb/mongo-java-driver/commit/f7cb608f2c6169413014a9f00f3b9565199b8366

Comment by Githook User [ 16/Jan/19 ]

Author:

{'username': 'jyemin', 'email': 'jeff.yemin@10gen.com', 'name': 'Jeff Yemin'}

Message: Improve CallbackResultHolder exception message to aid debugging

JAVA-3038
Branch: master
https://github.com/mongodb/mongo-java-driver/commit/46e083b9ae8a57882be7f2b186df392b08079d8a

Generated at Thu Feb 08 08:58:38 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.