Skip to content

Commit 752a200

Browse files
author
Giorgio
committed
Fixed tlsCAFile problem if passed more than once
1 parent bafe406 commit 752a200

29 files changed

+1480
-3
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
## Recent change notes
44

5+
### 0.7.0
6+
7+
- Fixed problem with tls CAFile parameter if passed more than once.
8+
59
### 0.7.0-nullsafety.3
610

711
- Documentation and examples

lib/mongo_dart.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ library mongo_dart;
77
import 'dart:async';
88
import 'dart:collection';
99
import 'dart:convert' show base64, utf8;
10-
import 'dart:io' show File, FileMode, IOSink, SecureSocket, SecurityContext, Socket;
10+
import 'dart:io' show File, FileMode, IOSink, SecureSocket, SecurityContext, Socket, TlsException;
1111
import 'dart:math';
1212
import 'dart:typed_data';
1313
import 'package:collection/collection.dart';

lib/src/network/connection.dart

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ const noSecureRequestError = 'The socket connection has been reset by peer.'
55
'\n- Trying to connect to an ssl/tls encrypted database without specifiyng'
66
'\n either the query parm tls=true '
77
'or the secure=true parameter in db.open()'
8+
'\n- The server requires a key certificate from the client, '
9+
'but no certificate has been sent'
810
'\n- Others';
911

1012
class _ServerCapabilities {
@@ -65,6 +67,7 @@ class _ServerCapabilities {
6567
}
6668

6769
class Connection {
70+
static bool _caCertificateAlreadyInHash = false;
6871
final Logger _log = Logger('Connection');
6972
final _ConnectionManager _manager;
7073
ServerConfig serverConfig;
@@ -96,7 +99,8 @@ class Connection {
9699
try {
97100
if (serverConfig.isSecure) {
98101
var securityContext = SecurityContext.defaultContext;
99-
if (serverConfig.tlsCAFileContent != null) {
102+
if (serverConfig.tlsCAFileContent != null &&
103+
!_caCertificateAlreadyInHash) {
100104
securityContext
101105
.setTrustedCertificatesBytes(serverConfig.tlsCAFileContent!);
102106
}
@@ -117,6 +121,18 @@ class Connection {
117121
} else {
118122
_socket = await Socket.connect(serverConfig.host, serverConfig.port);
119123
}
124+
} on TlsException catch (e) {
125+
if (e.osError?.message
126+
.contains('CERT_ALREADY_IN_HASH_TABLE(x509_lu.c:356)') ??
127+
false) {
128+
_caCertificateAlreadyInHash = true;
129+
return connect();
130+
}
131+
_closed = true;
132+
connected = false;
133+
var ex = ConnectionException(
134+
'Could not connect to ${serverConfig.hostUrl}\n- $e');
135+
throw ex;
120136
} catch (e) {
121137
_closed = true;
122138
connected = false;

pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: mongo_dart
2-
version: 0.7.0-nullsafety.3
2+
version: 0.7.0
33
description: MongoDB driver, implemented in pure Dart. All CRUD operations, aggregation pipeline and more!
44
homepage: https://github.com/mongo-dart/mongo_dart
55

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIFtzCCA5+gAwIBAgIUVB4ZgIwuUsRDcEnrZ3cvPMzYbbAwDQYJKoZIhvcNAQEL
3+
BQAwUjELMAkGA1UEBhMCVVMxCjAIBgNVBAgMASAxCjAIBgNVBAcMASAxCjAIBgNV
4+
BAoMASAxEzARBgNVBAsMCm1vbmdvX2RhcnQxCjAIBgNVBAMMASAwHhcNMjEwNDEy
5+
MDgzNDM1WhcNMjIwNDEyMDgzNDM1WjBLMQswCQYDVQQGEwJVUzEKMAgGA1UECAwB
6+
IDEKMAgGA1UEBwwBIDETMBEGA1UECgwKbW9uZ28tZGFydDEPMA0GA1UECwwGY2xp
7+
ZW50MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAwqp7yYDgemk8dmyC
8+
NlvYPlIe4y/lqQ4M7vX8hpxr+8lBcD+eClIzrMSOTuDmbhC/PJtYO3M7kE/ZoNRm
9+
3iEa16HkbroPuLN+bzsKeY/Xt0wdo+1+jH+SMH5d/wdDrQQhd7B+IEJP80HORd65
10+
wrkPL55rInmfJtG2eNosj5gcOT9vQTaQOdTAnAIU2QzC6xGtqOpQc2p9nf72UTxW
11+
inbNn+6bClYvlcfEezOQ5rNNq9XV9gJA6nPC+WB9v6kdUOtKRKJ3vbm13+3SWF0i
12+
uK4Ob2u061m+yI/K7bZLvgtfCWhqHB8YbUMfCCUArSCkN80WjxqqCIUt/R0DIPkR
13+
R+HbTHYoWyMMJEiTj5LhL9pYwOlSP+mda4hRU/Z93W2p1IfT8k5u8mAAcfTBo9uR
14+
v8IOC7ZnhbLym7qqC8oEbwCJQgQBjAF1H6ybJ+HNZbL3ijQzq2OGgcDZggWAFtBI
15+
vG/ICH+LtuiEjXeUk5TvYTjQXCeYQUYE7WkFUZ7FXXI+VflOXmlGcrt5g1YWJnRr
16+
OODfocEXAugrme7SqCOwXs5ksoW8KRDmHqnMR3XNA02ypXG3/9s6sU00oM6tZ8Zt
17+
e3hx9FQeEgINiLryR5lYvQBsgNXIChvRMeTeLy0wjE0AylnD/9RQ+2RwIE3jgYIh
18+
IGwJAAcbTGJnNcKGjuZcJlFJY4cCAwEAAaOBizCBiDAdBgNVHQ4EFgQUfwoe3ntx
19+
EluV+0Mkwt4CruSqXNAwCQYDVR0TBAIwADAOBgNVHQ8BAf8EBAMCBaAwLQYJYIZI
20+
AYb4QgENBCAWHk9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlLjAdBgNVHSUE
21+
FjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggIBAAydIVGa
22+
uqbzC0Fo88cV+16BbCluhWxdP/syMNGqP0OrblSGMagrkvQKBJSppEjX1dfL7DOm
23+
/9oF0s37gwKUDa1mkOnh90hAdd3+/JCgAN39o5HapfLet6h/PepgTc8oZSyCsaAC
24+
N2K7myUWuqHehJR5+lefQXqPbF1JrfyZgxuHXGzZ8hpMUPqHsJRNeMXhS+ytXSvL
25+
jP8cIs2AxVfzxO0nmzpYNIEC+u4eVXYk97l/mCQ/RKaoSFv4eb5Rm2LbHLni4Cqq
26+
ls5m2GeJJQ2v1dhgkHFWO5KaQTReaFNuwAV72mT86kqmkiS/rk2JLmHMwlfKFbbB
27+
hZI+EPdA8rfaB+u/gn8UiFlZqwCwnx4YQv3bN/RwECMf1vnGwQd6761koptJFhVr
28+
9ayva5L7lSR/hxjX/b5ohkChR3ttes34bBuo+7/EvBYZtHwiziUeRGyd90TCcBrP
29+
fDe8gR1LuTmnhNqwOpUdXob4lJ5/vKcIh4AZI0k+lyJG/193CLAWAaDVLtX8QU4l
30+
YM+PukfrdXVllLzfOFiBfbSOrXkDbvXe00zBLPizUPpMLJkGB7Farn9qq4wYrJvk
31+
RHm/pX8T8l90Sd8uDz0Q77tYKujaJtbosV0xzJ2yN+OISLtXB22KXCMJx7M+M4Wo
32+
pIDRd6PW/qx+i8Cx7Wf1Lv9ZFWfm7sjWbZeI
33+
-----END CERTIFICATE-----
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
-----BEGIN RSA PRIVATE KEY-----
2+
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
51+
-----END RSA PRIVATE KEY-----
Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
-----BEGIN CERTIFICATE-----
2+
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
32+
pIDRd6PW/qx+i8Cx7Wf1Lv9ZFWfm7sjWbZeI
33+
-----END CERTIFICATE-----
34+
-----BEGIN RSA PRIVATE KEY-----
35+
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
84+
-----END RSA PRIVATE KEY-----
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIFyzCCA7OgAwIBAgIBATANBgkqhkiG9w0BAQsFADBGMQswCQYDVQQGEwJVUzEK
3+
MAgGA1UECAwBIDEKMAgGA1UEBwwBIDEKMAgGA1UECgwBIDETMBEGA1UECwwKbW9u
4+
Z29fZGFydDAeFw0yMTA0MTIwODA3MzJaFw0yMzA0MTIwODA3MzJaMFIxCzAJBgNV
5+
BAYTAlVTMQowCAYDVQQIDAEgMQowCAYDVQQHDAEgMQowCAYDVQQKDAEgMRMwEQYD
6+
VQQLDAptb25nb19kYXJ0MQowCAYDVQQDDAEgMIICIjANBgkqhkiG9w0BAQEFAAOC
7+
Ag8AMIICCgKCAgEAvsFkux4542byqU31lszADXXd+AdMeiKwfjxhu0o3IQyjqEYw
8+
GUg+cOeIY7P8ot6tvqA7koQUp86cp1owO0ELo3QjeitPS+JFsGqiRcaeMPmlzNUl
9+
QqVEs8Lc+fUOATJfEQGzhjSzAPi0lbqJ6lbWAeCsKNfYyXyOC5TiSKVwO1GwGtw+
10+
mTJLVvmuBH9rTTqawJTEjLMTM0s8eCOZKPu6Kyc4+/V+ceoj4H5YFWllO+yB5kpb
11+
Lz5kWBV2d5FfOu7AENzVsygVRv4BIyUYqy5lVYsserRd44KkSqtg9sJaQ9k0L/Ox
12+
KGjhM3aP2J++lLdCrpNtr/1msSfzVy8RCt4rbY5Sy2qvppAh3HnhfQr+WuaxMYDJ
13+
5Fayt6KeF2ZayLHynDTAoK1xZPC/fmeF+ZIO/xgpYOOMwtr3FTiOJOxcnoGugbS2
14+
OR8ECNRILgoZvdTxPBR+QiUIdGL/QhMBDYf9rYwOZjUYv6HhlgM2ibcu1qmW2Sz1
15+
rjSJDPP5CysdjJviMST5nj8kvXcwT88HyjxFnqctQyxN8vQ3IDAuyes1sTBUyJ0B
16+
dJr9IbeGun1ihVioRFrMinJfqb/m3sfEw1bH6++xvf4Ao4Zm1DjF0M6aJLtyipfg
17+
J7MsWJ/YxqyyqkjR/QEePzlKFoTa2CPxPIIybiNyVCAq0HPShiu/fPoMkNMCAwEA
18+
AaOBtzCBtDAdBgNVHQ4EFgQU5otacsG2wLxq4LGyA76AA3mIcZcwDwYDVR0TAQH/
19+
BAUwAwEB/zCBgQYDVR0jBHoweIAUL+1K3YaXBWSt3VFLi/pf+UC85jGhSqRIMEYx
20+
CzAJBgNVBAYTAlVTMQowCAYDVQQIDAEgMQowCAYDVQQHDAEgMQowCAYDVQQKDAEg
21+
MRMwEQYDVQQLDAptb25nb19kYXJ0ghRjAiai9RSMQBJ49f1roVFkgfD7mDANBgkq
22+
hkiG9w0BAQsFAAOCAgEAmA4MagFG7hb8LfRfCAgW25cdi9IIpbx7YGu214u+BwTM
23+
I1M6bmXf2l7rTMirJUabxCFwTSi62xlQ8LyBRnRv/eCRqEgQzAONrLwUQQU9XXon
24+
CtShTrK26vILxFSyH/JqPhtNlIj2JvP7E613gwGmTWaCHnlu9EDoikYvQmNRXE5d
25+
i4t0P8+uDaNZCcNruAaIoOQn63q5VByZfhHORJ+Vlitei9dIWtXJ4BqKFk9Hwd7V
26+
X9MgYV6fsi9fa8Q/9WA5xq1W82Z4Pf8OOd4jQg2MMTOCjqOUriljZ5ozyXzBxUJO
27+
lRg55QEj32tblTZr8wf4mmi+Rfm9AhLDwBoqP90klEoSh+2ef7eS7cec30H6uoSa
28+
xP2tj4nHPRtS5NekmOzVqHVtXpkTt2W+IUzUtKYb144vve/S5QmcHWZkVOaInxA0
29+
lU/Uf4p0lR1XWbVLZBOfznR0Iqio3GxqgZh15y19x3Om7HmSQ4pQsi821L/9hRwi
30+
GA6f8CyUr8BqQ/aJRsmsBmwyh+4K1XyRc4gitpjRuSUA1yHvkPNhB0UdWWk0Vqrl
31+
eX9qPP4EK1rD5yHD56JOKhY2RiX89ey4Z8v6yL5Qavj5+BT1MnzOugyWli4TLgXb
32+
w+gq/XKKfqPIEWWl1pfHerfHDgCrJQSkeEMZFGzsYYHk97dTuxWZp8oa7qlqT48=
33+
-----END CERTIFICATE-----
34+
-----BEGIN CERTIFICATE-----
35+
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
66+
VqyMKwu2
67+
-----END CERTIFICATE-----
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
-----BEGIN CERTIFICATE-----
2+
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
33+
VqyMKwu2
34+
-----END CERTIFICATE-----

0 commit comments

Comments
 (0)