mongo 2.19.3 → 2.20.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (178) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +37 -1
  3. data/Rakefile +81 -172
  4. data/lib/mongo/cluster/topology/base.rb +16 -0
  5. data/lib/mongo/cluster.rb +27 -1
  6. data/lib/mongo/collection/view/iterable.rb +1 -0
  7. data/lib/mongo/collection.rb +4 -2
  8. data/lib/mongo/config.rb +2 -2
  9. data/lib/mongo/error/transactions_not_supported.rb +34 -0
  10. data/lib/mongo/error.rb +1 -0
  11. data/lib/mongo/grid/fs_bucket.rb +6 -0
  12. data/lib/mongo/monitoring/event/secure.rb +1 -1
  13. data/lib/mongo/operation/shared/executable.rb +43 -27
  14. data/lib/mongo/operation/shared/response_handling.rb +23 -25
  15. data/lib/mongo/retryable/base_worker.rb +28 -3
  16. data/lib/mongo/retryable/read_worker.rb +16 -14
  17. data/lib/mongo/retryable/write_worker.rb +11 -8
  18. data/lib/mongo/retryable.rb +2 -2
  19. data/lib/mongo/server/app_metadata/environment.rb +64 -9
  20. data/lib/mongo/server/app_metadata.rb +5 -4
  21. data/lib/mongo/server/description/features.rb +1 -0
  22. data/lib/mongo/server/pending_connection.rb +19 -6
  23. data/lib/mongo/server_selector/base.rb +32 -6
  24. data/lib/mongo/session/server_session/dirtyable.rb +52 -0
  25. data/lib/mongo/session/server_session.rb +3 -0
  26. data/lib/mongo/session/session_pool.rb +12 -18
  27. data/lib/mongo/session.rb +32 -0
  28. data/lib/mongo/socket/ssl.rb +22 -1
  29. data/lib/mongo/uri.rb +0 -4
  30. data/lib/mongo/version.rb +1 -5
  31. data/mongo.gemspec +9 -18
  32. data/spec/atlas/atlas_connectivity_spec.rb +4 -4
  33. data/spec/faas/ruby-sam-app/Gemfile +9 -0
  34. data/spec/faas/ruby-sam-app/mongodb/Gemfile +4 -0
  35. data/spec/faas/ruby-sam-app/mongodb/app.rb +149 -0
  36. data/spec/faas/ruby-sam-app/template.yaml +48 -0
  37. data/spec/integration/client_side_encryption/corpus_spec.rb +10 -2
  38. data/spec/integration/client_side_encryption/range_explicit_encryption_prose_spec.rb +3 -0
  39. data/spec/integration/retryable_reads_errors_spec.rb +196 -31
  40. data/spec/integration/retryable_writes_errors_spec.rb +156 -0
  41. data/spec/integration/sdam_error_handling_spec.rb +2 -0
  42. data/spec/lite_spec_helper.rb +0 -10
  43. data/spec/mongo/cluster_spec.rb +36 -0
  44. data/spec/mongo/collection/view/aggregation_spec.rb +6 -1
  45. data/spec/mongo/collection/view/explainable_spec.rb +2 -0
  46. data/spec/mongo/collection_crud_spec.rb +2 -1
  47. data/spec/mongo/operation/insert_spec.rb +1 -1
  48. data/spec/mongo/retryable/write_worker_spec.rb +39 -0
  49. data/spec/mongo/server/app_metadata/environment_spec.rb +135 -0
  50. data/spec/mongo/server/app_metadata_spec.rb +12 -2
  51. data/spec/mongo/server/connection_spec.rb +26 -0
  52. data/spec/mongo/session/session_pool_spec.rb +1 -16
  53. data/spec/mongo/session_transaction_spec.rb +15 -0
  54. data/spec/mongo/uri_spec.rb +0 -9
  55. data/spec/runners/crud/test.rb +0 -8
  56. data/spec/runners/crud.rb +1 -1
  57. data/spec/runners/transactions/test.rb +12 -3
  58. data/spec/runners/unified/assertions.rb +16 -3
  59. data/spec/runners/unified/crud_operations.rb +12 -0
  60. data/spec/runners/unified/support_operations.rb +3 -5
  61. data/spec/runners/unified/test.rb +8 -1
  62. data/spec/spec_tests/data/client_side_encryption/explain.yml +2 -2
  63. data/spec/spec_tests/data/client_side_encryption/fle2v2-BypassQueryAnalysis.yml +1 -0
  64. data/spec/spec_tests/data/client_side_encryption/fle2v2-Compact.yml +1 -0
  65. data/spec/spec_tests/data/client_side_encryption/fle2v2-CreateCollection.yml +1 -0
  66. data/spec/spec_tests/data/client_side_encryption/fle2v2-DecryptExistingData.yml +1 -0
  67. data/spec/spec_tests/data/client_side_encryption/fle2v2-Delete.yml +1 -0
  68. data/spec/spec_tests/data/client_side_encryption/fle2v2-EncryptedFields-vs-EncryptedFieldsMap.yml +1 -0
  69. data/spec/spec_tests/data/client_side_encryption/fle2v2-EncryptedFields-vs-jsonSchema.yml +1 -0
  70. data/spec/spec_tests/data/client_side_encryption/fle2v2-EncryptedFieldsMap-defaults.yml +1 -0
  71. data/spec/spec_tests/data/client_side_encryption/fle2v2-FindOneAndUpdate.yml +1 -0
  72. data/spec/spec_tests/data/client_side_encryption/fle2v2-InsertFind-Indexed.yml +1 -0
  73. data/spec/spec_tests/data/client_side_encryption/fle2v2-InsertFind-Unindexed.yml +1 -0
  74. data/spec/spec_tests/data/client_side_encryption/fle2v2-MissingKey.yml +1 -0
  75. data/spec/spec_tests/data/client_side_encryption/fle2v2-NoEncryption.yml +1 -0
  76. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Date-Aggregate.yml +1 -0
  77. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Date-Correctness.yml +1 -0
  78. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Date-Delete.yml +1 -0
  79. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Date-FindOneAndUpdate.yml +1 -0
  80. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Date-InsertFind.yml +1 -0
  81. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Date-Update.yml +1 -0
  82. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Decimal-Aggregate.yml +1 -0
  83. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Decimal-Correctness.yml +1 -0
  84. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Decimal-Delete.yml +1 -0
  85. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Decimal-FindOneAndUpdate.yml +1 -0
  86. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Decimal-InsertFind.yml +1 -0
  87. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Decimal-Update.yml +1 -0
  88. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DecimalPrecision-Aggregate.yml +1 -0
  89. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DecimalPrecision-Correctness.yml +1 -0
  90. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DecimalPrecision-Delete.yml +1 -0
  91. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DecimalPrecision-FindOneAndUpdate.yml +1 -0
  92. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DecimalPrecision-InsertFind.yml +1 -0
  93. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DecimalPrecision-Update.yml +1 -0
  94. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Double-Aggregate.yml +1 -0
  95. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Double-Correctness.yml +1 -0
  96. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Double-Delete.yml +1 -0
  97. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Double-FindOneAndUpdate.yml +1 -0
  98. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Double-InsertFind.yml +1 -0
  99. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Double-Update.yml +1 -0
  100. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DoublePrecision-Aggregate.yml +1 -0
  101. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DoublePrecision-Correctness.yml +1 -0
  102. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DoublePrecision-Delete.yml +1 -0
  103. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DoublePrecision-FindOneAndUpdate.yml +1 -0
  104. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DoublePrecision-InsertFind.yml +1 -0
  105. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DoublePrecision-Update.yml +1 -0
  106. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Int-Aggregate.yml +1 -0
  107. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Int-Correctness.yml +1 -0
  108. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Int-Delete.yml +1 -0
  109. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Int-FindOneAndUpdate.yml +1 -0
  110. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Int-InsertFind.yml +1 -0
  111. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Int-Update.yml +1 -0
  112. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Long-Aggregate.yml +1 -0
  113. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Long-Correctness.yml +1 -0
  114. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Long-Delete.yml +1 -0
  115. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Long-FindOneAndUpdate.yml +1 -0
  116. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Long-InsertFind.yml +1 -0
  117. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Long-Update.yml +1 -0
  118. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-WrongType.yml +1 -0
  119. data/spec/spec_tests/data/client_side_encryption/fle2v2-Update.yml +1 -0
  120. data/spec/spec_tests/data/client_side_encryption/fle2v2-validatorAndPartialFieldExpression.yml +2 -1
  121. data/spec/spec_tests/data/connection_string/invalid-uris.yml +0 -10
  122. data/spec/spec_tests/data/connection_string/valid-options.yml +13 -0
  123. data/spec/spec_tests/data/crud_unified/aggregate-write-readPreference.yml +2 -0
  124. data/spec/spec_tests/data/crud_unified/db-aggregate-write-readPreference.yml +2 -0
  125. data/spec/spec_tests/data/crud_unified/find-test-all-options.yml +348 -0
  126. data/spec/spec_tests/data/index_management/createSearchIndex.yml +5 -3
  127. data/spec/spec_tests/data/index_management/createSearchIndexes.yml +7 -4
  128. data/spec/spec_tests/data/index_management/dropSearchIndex.yml +2 -1
  129. data/spec/spec_tests/data/index_management/listSearchIndexes.yml +13 -7
  130. data/spec/spec_tests/data/index_management/updateSearchIndex.yml +2 -1
  131. data/spec/spec_tests/data/retryable_writes/unified/bulkWrite-serverErrors.yml +3 -6
  132. data/spec/spec_tests/data/retryable_writes/unified/insertOne-serverErrors.yml +3 -6
  133. data/spec/spec_tests/data/run_command_unified/runCommand.yml +319 -0
  134. data/spec/spec_tests/data/sessions_unified/driver-sessions-dirty-session-errors.yml +351 -0
  135. data/spec/spec_tests/data/unified/valid-pass/poc-crud.yml +1 -1
  136. data/spec/spec_tests/data/unified/valid-pass/poc-retryable-writes.yml +7 -7
  137. data/spec/spec_tests/data/unified/valid-pass/poc-sessions.yml +3 -4
  138. data/spec/spec_tests/data/unified/valid-pass/poc-transactions-convenient-api.yml +1 -1
  139. data/spec/spec_tests/data/unified/valid-pass/poc-transactions-mongos-pin-auto.yml +1 -1
  140. data/spec/spec_tests/data/unified/valid-pass/poc-transactions.yml +3 -3
  141. data/spec/spec_tests/run_command_unified_spec.rb +13 -0
  142. data/spec/spec_tests/sdam_unified_spec.rb +2 -0
  143. data/spec/spec_tests/transactions_unified_spec.rb +2 -1
  144. data/spec/support/certificates/atlas-ocsp-ca.crt +89 -77
  145. data/spec/support/certificates/atlas-ocsp.crt +117 -122
  146. data/spec/support/certificates/retrieve-atlas-cert +1 -1
  147. data/spec/support/constraints.rb +6 -0
  148. data/spec/support/ocsp +1 -1
  149. data/spec/support/recording_logger.rb +27 -0
  150. metadata +1245 -1298
  151. checksums.yaml.gz.sig +0 -0
  152. data/spec/shared/LICENSE +0 -20
  153. data/spec/shared/bin/get-mongodb-download-url +0 -17
  154. data/spec/shared/bin/s3-copy +0 -45
  155. data/spec/shared/bin/s3-upload +0 -69
  156. data/spec/shared/lib/mrss/child_process_helper.rb +0 -80
  157. data/spec/shared/lib/mrss/cluster_config.rb +0 -231
  158. data/spec/shared/lib/mrss/constraints.rb +0 -378
  159. data/spec/shared/lib/mrss/docker_runner.rb +0 -295
  160. data/spec/shared/lib/mrss/eg_config_utils.rb +0 -51
  161. data/spec/shared/lib/mrss/event_subscriber.rb +0 -210
  162. data/spec/shared/lib/mrss/lite_constraints.rb +0 -238
  163. data/spec/shared/lib/mrss/server_version_registry.rb +0 -113
  164. data/spec/shared/lib/mrss/session_registry.rb +0 -69
  165. data/spec/shared/lib/mrss/session_registry_legacy.rb +0 -60
  166. data/spec/shared/lib/mrss/spec_organizer.rb +0 -179
  167. data/spec/shared/lib/mrss/utils.rb +0 -37
  168. data/spec/shared/share/Dockerfile.erb +0 -330
  169. data/spec/shared/share/haproxy-1.conf +0 -16
  170. data/spec/shared/share/haproxy-2.conf +0 -17
  171. data/spec/shared/shlib/config.sh +0 -27
  172. data/spec/shared/shlib/distro.sh +0 -74
  173. data/spec/shared/shlib/server.sh +0 -416
  174. data/spec/shared/shlib/set_env.sh +0 -169
  175. data/spec/spec_tests/data/cmap/pool-clear-interrupt-immediately.yml +0 -49
  176. data/spec/support/faas/app/aws_lambda/mongodb/Gemfile.lock +0 -19
  177. data.tar.gz.sig +0 -3
  178. metadata.gz.sig +0 -0
@@ -2,151 +2,146 @@ Certificate:
2
2
  Data:
3
3
  Version: 3 (0x2)
4
4
  Serial Number:
5
- 03:a8:39:03:e8:84:cd:24:1c:9c:b1:27:8c:0a:7a:9b
5
+ 04:ae:c2:45:fc:ba:ae:16:d6:38:7e:de:04:c4:2b:41:fd:a0
6
6
  Signature Algorithm: sha256WithRSAEncryption
7
- Issuer: C = US, O = DigiCert Inc, CN = DigiCert Global G2 TLS RSA SHA256 2020 CA1
7
+ Issuer: C=US, O=Let's Encrypt, CN=R3
8
8
  Validity
9
- Not Before: Jun 2 00:00:00 2023 GMT
10
- Not After : Jun 4 23:59:59 2024 GMT
11
- Subject: C = US, ST = New York, L = New York, O = "MongoDB, Inc.", CN = *.mongodb-dev.net
9
+ Not Before: Jun 5 14:02:45 2024 GMT
10
+ Not After : Sep 3 14:02:44 2024 GMT
11
+ Subject: CN=*.g6fyiaq.mongodb-dev.net
12
12
  Subject Public Key Info:
13
13
  Public Key Algorithm: rsaEncryption
14
- Public-Key: (2048 bit)
14
+ Public-Key: (4096 bit)
15
15
  Modulus:
16
- 00:df:91:d8:18:9b:41:9c:83:33:58:e9:c2:42:00:
17
- 5a:a5:c0:61:e8:df:39:20:46:33:ae:87:34:c4:13:
18
- 89:d2:c9:4c:eb:6f:a5:cd:dc:31:07:b4:cf:53:74:
19
- 9b:3c:32:e8:df:4b:64:88:a2:03:87:e9:27:f9:7b:
20
- 57:ca:be:7b:51:0f:f2:b1:78:45:0e:5f:06:e9:0a:
21
- c9:fe:67:d0:19:3c:8c:41:01:5f:b7:66:a0:a4:3b:
22
- 54:18:c2:5b:5e:b1:d7:9e:6a:78:f3:bd:24:1d:fc:
23
- ce:43:d2:74:60:83:f4:f3:55:a4:dd:82:f0:e9:f1:
24
- 3d:ff:d1:b6:32:0f:c8:e4:aa:95:bf:52:33:8f:2f:
25
- be:28:ea:ea:cf:a7:13:65:7e:3c:61:2c:38:a0:95:
26
- 45:b8:2d:7e:20:33:38:36:fd:6f:c8:a8:e2:ad:5b:
27
- 3c:91:95:d9:ec:0b:08:7d:81:25:0c:b9:40:6b:97:
28
- 8a:d1:c4:f9:4d:9b:45:57:03:b9:5c:03:90:d0:68:
29
- 29:50:12:87:59:48:f0:19:c3:4d:42:3e:80:c3:4e:
30
- 7e:30:e1:bb:fe:f8:30:55:83:15:ca:af:12:13:3a:
31
- da:e9:91:a3:10:6d:fc:b6:64:5d:89:a3:b4:18:9a:
32
- 7e:ab:90:dd:11:fa:db:af:98:12:58:3c:8f:47:22:
33
- f2:53
16
+ 00:c0:d4:93:f2:7c:b5:64:56:a2:ed:07:ab:96:00:
17
+ 61:8d:74:03:ee:10:dc:7f:92:26:ea:b1:c9:2f:7a:
18
+ 33:d2:05:b2:25:ff:15:c0:fc:37:5c:8c:a9:36:82:
19
+ 66:eb:07:70:f9:ec:b3:ca:88:9d:07:51:ef:f2:18:
20
+ e3:88:3b:f7:f5:b2:29:e2:7f:7b:00:dc:9f:b8:95:
21
+ cf:f4:58:37:0d:cd:b0:ec:9b:d0:c3:ec:71:d8:4d:
22
+ 97:5a:a2:c6:66:2e:c1:dc:4f:38:f3:ba:43:3d:3e:
23
+ 46:12:a8:08:7a:e3:bc:fa:52:3f:b4:4f:3e:25:9f:
24
+ 4a:c9:fd:af:42:cc:62:59:ba:e1:92:1c:6c:57:2d:
25
+ 86:fb:62:08:08:5b:f9:5e:3c:3b:e8:9a:b2:1c:a0:
26
+ 82:58:0c:e9:40:c2:21:c2:71:93:32:68:44:f9:61:
27
+ 13:bc:d6:c8:71:1e:9c:37:f4:b9:cd:13:30:cd:4b:
28
+ 42:c0:c5:95:91:86:b5:e9:7f:f6:37:de:20:8e:cc:
29
+ 05:3d:14:aa:29:c2:bf:4f:34:71:89:07:54:5b:b4:
30
+ cd:13:bd:53:74:e7:6f:33:c5:73:36:24:5b:37:88:
31
+ d1:9e:fc:98:e1:7a:a2:25:65:c5:b1:21:ad:2c:99:
32
+ 0b:03:2e:92:06:ef:c1:31:b6:3b:00:32:00:f5:c4:
33
+ 70:0d:1d:43:1c:a7:31:03:40:a6:95:6c:29:b3:93:
34
+ 54:3b:9f:bd:5f:44:be:ba:04:a9:5c:f1:2d:0d:04:
35
+ 18:51:27:75:47:d7:4b:06:e7:df:bc:2c:4e:c7:4b:
36
+ 18:60:de:51:ce:41:a9:6c:6a:19:d1:a5:0b:03:e5:
37
+ ec:89:10:6b:b4:94:ba:79:b6:06:11:2e:b2:5f:e6:
38
+ 19:f0:f9:ad:3e:4f:a4:cc:3d:7b:69:46:ed:71:1c:
39
+ f6:50:6c:53:08:9e:a3:05:59:de:fb:36:a1:92:ad:
40
+ 7d:78:c6:37:13:d1:1a:9a:56:cc:fb:bd:21:34:ec:
41
+ 8d:a5:73:59:6f:4e:aa:e2:2e:16:d6:d6:89:92:a3:
42
+ 8f:d7:b0:46:cf:07:70:75:dc:dc:b3:70:cf:2a:12:
43
+ 84:4e:41:57:10:68:7b:5f:f9:8f:64:d2:d4:e9:c0:
44
+ eb:b4:68:37:87:40:32:9e:f6:7f:be:31:fb:d5:36:
45
+ a4:15:ba:52:24:c1:5d:ae:d0:41:e3:ff:88:09:7d:
46
+ e7:98:23:bb:09:9b:7b:6d:e4:c0:ca:7a:1b:6e:32:
47
+ 63:69:42:7b:26:9d:c9:f0:c3:b9:58:88:c3:74:9d:
48
+ d3:54:3b:20:09:76:5c:54:4e:60:f7:35:53:e4:f9:
49
+ aa:af:0e:bd:24:d1:0e:c5:8a:7e:26:f0:e7:a0:26:
50
+ d0:9d:01
34
51
  Exponent: 65537 (0x10001)
35
52
  X509v3 extensions:
36
- X509v3 Authority Key Identifier:
37
- 74:85:80:C0:66:C7:DF:37:DE:CF:BD:29:37:AA:03:1D:BE:ED:CD:17
38
- X509v3 Subject Key Identifier:
39
- 97:FB:A6:29:30:AE:9D:F0:D9:85:05:12:AA:D4:C1:D9:EC:0F:5B:CE
40
- X509v3 Subject Alternative Name:
41
- DNS:*.mongodb-dev.net, DNS:mongodb-dev.net
42
53
  X509v3 Key Usage: critical
43
54
  Digital Signature, Key Encipherment
44
55
  X509v3 Extended Key Usage:
45
56
  TLS Web Server Authentication, TLS Web Client Authentication
46
- X509v3 CRL Distribution Points:
47
- Full Name:
48
- URI:http://crl3.digicert.com/DigiCertGlobalG2TLSRSASHA2562020CA1-1.crl
49
- Full Name:
50
- URI:http://crl4.digicert.com/DigiCertGlobalG2TLSRSASHA2562020CA1-1.crl
51
- X509v3 Certificate Policies:
52
- Policy: 2.23.140.1.2.2
53
- CPS: http://www.digicert.com/CPS
54
- Authority Information Access:
55
- OCSP - URI:http://ocsp.digicert.com
56
- CA Issuers - URI:http://cacerts.digicert.com/DigiCertGlobalG2TLSRSASHA2562020CA1-1.crt
57
- X509v3 Basic Constraints:
57
+ X509v3 Basic Constraints: critical
58
58
  CA:FALSE
59
+ X509v3 Subject Key Identifier:
60
+ 03:4A:67:8B:0B:1C:86:4C:9D:D9:E6:E2:43:B1:BA:93:53:50:DE:28
61
+ X509v3 Authority Key Identifier:
62
+ 14:2E:B3:17:B7:58:56:CB:AE:50:09:40:E6:1F:AF:9D:8B:14:C2:C6
63
+ Authority Information Access:
64
+ OCSP - URI:http://r3.o.lencr.org
65
+ CA Issuers - URI:http://r3.i.lencr.org/
66
+ X509v3 Subject Alternative Name:
67
+ DNS:*.g6fyiaq.mesh.mongodb-dev.net, DNS:*.g6fyiaq.mongodb-dev.net
68
+ X509v3 Certificate Policies:
69
+ Policy: 2.23.140.1.2.1
59
70
  CT Precertificate SCTs:
60
71
  Signed Certificate Timestamp:
61
72
  Version : v1 (0x0)
62
- Log ID : EE:CD:D0:64:D5:DB:1A:CE:C5:5C:B7:9D:B4:CD:13:A2:
63
- 32:87:46:7C:BC:EC:DE:C3:51:48:59:46:71:1F:B5:9B
64
- Timestamp : Jun 2 08:44:16.090 2023 GMT
65
- Extensions: none
66
- Signature : ecdsa-with-SHA256
67
- 30:46:02:21:00:88:AC:04:93:84:2C:2C:99:4F:B8:C4:
68
- 06:B5:7F:9B:92:D3:51:25:72:1D:DB:12:D5:C0:AA:8F:
69
- D1:97:39:EF:4C:02:21:00:96:B1:11:40:0F:BA:03:28:
70
- 88:BF:0C:DF:4B:4A:68:67:05:97:7E:F6:BD:6F:F3:0D:
71
- D8:9C:EB:90:75:FF:79:AB
72
- Signed Certificate Timestamp:
73
- Version : v1 (0x0)
74
- Log ID : 48:B0:E3:6B:DA:A6:47:34:0F:E5:6A:02:FA:9D:30:EB:
75
- 1C:52:01:CB:56:DD:2C:81:D9:BB:BF:AB:39:D8:84:73
76
- Timestamp : Jun 2 08:44:16.066 2023 GMT
73
+ Log ID : 3F:17:4B:4F:D7:22:47:58:94:1D:65:1C:84:BE:0D:12:
74
+ ED:90:37:7F:1F:85:6A:EB:C1:BF:28:85:EC:F8:64:6E
75
+ Timestamp : Jun 5 15:02:46.375 2024 GMT
77
76
  Extensions: none
78
77
  Signature : ecdsa-with-SHA256
79
- 30:45:02:21:00:B0:C8:4E:75:71:84:DE:71:8F:D0:27:
80
- 71:6C:4D:B1:E8:20:A3:54:AF:27:A8:A2:FA:AC:46:43:
81
- 4A:08:C1:A9:94:02:20:1A:E1:63:79:E6:DB:4A:98:72:
82
- FF:BD:C4:A2:D8:F5:11:36:4C:95:6E:68:B4:CF:E7:35:
83
- 84:BB:AC:A2:E6:D0:A0
78
+ 30:45:02:21:00:A2:21:6F:59:A8:6F:DF:1F:D8:BF:D5:
79
+ 0C:C8:90:9C:15:F6:02:20:97:22:70:BD:DF:C6:F8:41:
80
+ 02:A3:86:FB:0F:02:20:5F:4C:E5:7D:38:D7:AF:7C:40:
81
+ 41:B1:99:8A:04:83:2C:95:7F:71:34:42:2F:B9:94:DC:
82
+ EE:85:D9:2E:6A:FE:0E
84
83
  Signed Certificate Timestamp:
85
84
  Version : v1 (0x0)
86
- Log ID : DA:B6:BF:6B:3F:B5:B6:22:9F:9B:C2:BB:5C:6B:E8:70:
87
- 91:71:6C:BB:51:84:85:34:BD:A4:3D:30:48:D7:FB:AB
88
- Timestamp : Jun 2 08:44:16.030 2023 GMT
85
+ Log ID : 76:FF:88:3F:0A:B6:FB:95:51:C2:61:CC:F5:87:BA:34:
86
+ B4:A4:CD:BB:29:DC:68:42:0A:9F:E6:67:4C:5A:3A:74
87
+ Timestamp : Jun 5 15:02:46.419 2024 GMT
89
88
  Extensions: none
90
89
  Signature : ecdsa-with-SHA256
91
- 30:44:02:20:51:59:38:3B:FF:76:EC:A2:3E:15:4B:60:
92
- 23:84:20:88:66:C3:64:7C:94:51:B9:1A:BD:87:15:73:
93
- 43:F5:96:BA:02:20:22:F3:7B:75:F4:58:58:C7:48:18:
94
- 85:22:17:FC:ED:07:A2:8B:A0:07:0E:32:0F:16:9C:8B:
95
- E5:AA:6B:86:86:6B
90
+ 30:46:02:21:00:FA:63:32:6E:58:54:6F:36:EE:9C:BA:
91
+ FB:AF:E1:5E:B5:A9:24:8A:81:84:7A:E5:F3:A9:38:42:
92
+ 57:CC:E3:09:C9:02:21:00:E2:BD:7E:3D:45:28:05:91:
93
+ F6:46:1C:EA:5C:31:DA:4A:88:D2:F8:A2:98:9E:E3:A1:
94
+ 36:1D:41:BF:DA:0A:45:D9
96
95
  Signature Algorithm: sha256WithRSAEncryption
97
96
  Signature Value:
98
- be:97:77:21:55:1d:c7:18:5f:52:de:a8:85:a5:d2:ee:48:29:
99
- b3:46:2d:31:02:12:5b:88:1e:09:ac:f4:7e:fc:4d:e4:e8:c9:
100
- 56:7e:de:1e:dc:53:1f:27:1b:dd:07:68:39:1c:2e:91:86:20:
101
- 2a:f0:9a:d1:ff:c4:b5:c2:85:a7:ec:9c:b8:62:31:aa:5b:69:
102
- 8e:37:d4:cc:ec:7b:86:86:b2:a9:6d:60:8b:70:44:ca:72:7a:
103
- d9:a8:54:96:f8:5a:e5:2b:2a:48:5d:4f:53:fb:b3:c9:67:70:
104
- a3:a6:d5:be:6d:99:11:51:89:31:e3:b1:43:54:e0:7c:cd:96:
105
- fd:2d:12:12:eb:a3:8e:b4:12:25:23:bf:a6:5d:70:c5:3f:8c:
106
- 9f:0e:5d:38:d0:4b:aa:67:30:d7:c3:47:76:20:bd:1a:55:2a:
107
- b2:df:37:92:67:88:65:11:15:62:a8:08:3f:93:ee:c1:b1:79:
108
- 33:03:03:0b:46:d4:5f:d2:82:31:77:6c:42:12:89:f4:f8:af:
109
- 32:ab:45:59:91:bf:82:44:69:d2:49:7f:1b:f3:49:28:37:85:
110
- 74:3c:4d:92:1b:56:30:4c:69:79:5d:fc:4d:a6:7b:c6:e7:f5:
111
- 34:e6:dd:c0:25:f8:69:b2:86:3a:44:a9:41:ba:34:cd:fe:aa:
112
- 20:d2:57:ad
97
+ 61:76:67:a7:27:1f:ac:52:59:f6:73:dd:98:6b:52:25:b2:a3:
98
+ 1b:f1:23:8f:07:75:7f:e9:1a:fa:c7:99:61:3c:c4:d6:d4:24:
99
+ a6:2e:e9:67:c6:18:ca:76:57:63:bf:ce:ad:74:92:e1:e5:84:
100
+ 1d:94:80:f2:a9:90:a5:8e:83:74:80:cf:d1:2e:be:f7:13:6e:
101
+ 84:22:44:e1:a9:bd:60:85:81:ad:ee:17:68:d1:e7:83:dd:aa:
102
+ 8e:35:5e:0b:e5:9a:52:23:4d:c6:85:cc:fc:45:09:d3:f7:63:
103
+ 1d:72:69:09:99:36:53:97:43:54:53:2e:47:8d:ec:29:f1:d2:
104
+ 54:e4:35:f9:84:a1:ef:f0:4b:23:cf:1c:b3:06:c5:6a:bc:d9:
105
+ 7e:b3:8c:3a:76:74:28:d8:2b:75:b2:fd:bb:c3:62:02:46:ed:
106
+ ca:47:b2:c9:7a:f3:99:e3:c8:5c:6a:c0:02:a4:25:b9:2d:82:
107
+ 87:6c:7a:1f:5d:41:37:53:8f:8a:71:91:13:ed:d7:3f:ac:29:
108
+ 58:83:08:1f:1d:62:d4:e9:d9:c8:63:05:0d:24:44:45:44:58:
109
+ be:4a:09:ff:e5:56:e8:67:ad:2d:ee:42:f9:a3:fa:fa:3f:72:
110
+ ab:eb:eb:4b:23:94:f3:ac:91:f5:34:6a:8a:3d:2f:89:52:54:
111
+ a4:7e:5f:db
113
112
 
114
113
  -----BEGIN CERTIFICATE-----
115
- MIIG5zCCBc+gAwIBAgIQA6g5A+iEzSQcnLEnjAp6mzANBgkqhkiG9w0BAQsFADBZ
116
- MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMTMwMQYDVQQDEypE
117
- aWdpQ2VydCBHbG9iYWwgRzIgVExTIFJTQSBTSEEyNTYgMjAyMCBDQTEwHhcNMjMw
118
- NjAyMDAwMDAwWhcNMjQwNjA0MjM1OTU5WjBnMQswCQYDVQQGEwJVUzERMA8GA1UE
119
- CBMITmV3IFlvcmsxETAPBgNVBAcTCE5ldyBZb3JrMRYwFAYDVQQKEw1Nb25nb0RC
120
- LCBJbmMuMRowGAYDVQQDDBEqLm1vbmdvZGItZGV2Lm5ldDCCASIwDQYJKoZIhvcN
121
- AQEBBQADggEPADCCAQoCggEBAN+R2BibQZyDM1jpwkIAWqXAYejfOSBGM66HNMQT
122
- idLJTOtvpc3cMQe0z1N0mzwy6N9LZIiiA4fpJ/l7V8q+e1EP8rF4RQ5fBukKyf5n
123
- 0Bk8jEEBX7dmoKQ7VBjCW16x155qePO9JB38zkPSdGCD9PNVpN2C8OnxPf/RtjIP
124
- yOSqlb9SM48vvijq6s+nE2V+PGEsOKCVRbgtfiAzODb9b8io4q1bPJGV2ewLCH2B
125
- JQy5QGuXitHE+U2bRVcDuVwDkNBoKVASh1lI8BnDTUI+gMNOfjDhu/74MFWDFcqv
126
- EhM62umRoxBt/LZkXYmjtBiafquQ3RH626+YElg8j0ci8lMCAwEAAaOCA5swggOX
127
- MB8GA1UdIwQYMBaAFHSFgMBmx9833s+9KTeqAx2+7c0XMB0GA1UdDgQWBBSX+6Yp
128
- MK6d8NmFBRKq1MHZ7A9bzjAtBgNVHREEJjAkghEqLm1vbmdvZGItZGV2Lm5ldIIP
129
- bW9uZ29kYi1kZXYubmV0MA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEF
130
- BQcDAQYIKwYBBQUHAwIwgZ8GA1UdHwSBlzCBlDBIoEagRIZCaHR0cDovL2NybDMu
131
- ZGlnaWNlcnQuY29tL0RpZ2lDZXJ0R2xvYmFsRzJUTFNSU0FTSEEyNTYyMDIwQ0Ex
132
- LTEuY3JsMEigRqBEhkJodHRwOi8vY3JsNC5kaWdpY2VydC5jb20vRGlnaUNlcnRH
133
- bG9iYWxHMlRMU1JTQVNIQTI1NjIwMjBDQTEtMS5jcmwwPgYDVR0gBDcwNTAzBgZn
134
- gQwBAgIwKTAnBggrBgEFBQcCARYbaHR0cDovL3d3dy5kaWdpY2VydC5jb20vQ1BT
135
- MIGHBggrBgEFBQcBAQR7MHkwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2lj
136
- ZXJ0LmNvbTBRBggrBgEFBQcwAoZFaHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29t
137
- L0RpZ2lDZXJ0R2xvYmFsRzJUTFNSU0FTSEEyNTYyMDIwQ0ExLTEuY3J0MAkGA1Ud
138
- EwQCMAAwggF+BgorBgEEAdZ5AgQCBIIBbgSCAWoBaAB3AO7N0GTV2xrOxVy3nbTN
139
- E6Iyh0Z8vOzew1FIWUZxH7WbAAABiHtHY1oAAAQDAEgwRgIhAIisBJOELCyZT7jE
140
- BrV/m5LTUSVyHdsS1cCqj9GXOe9MAiEAlrERQA+6AyiIvwzfS0poZwWXfva9b/MN
141
- 2JzrkHX/easAdgBIsONr2qZHNA/lagL6nTDrHFIBy1bdLIHZu7+rOdiEcwAAAYh7
142
- R2NCAAAEAwBHMEUCIQCwyE51cYTecY/QJ3FsTbHoIKNUryeoovqsRkNKCMGplAIg
143
- GuFjeebbSphy/73Eotj1ETZMlW5otM/nNYS7rKLm0KAAdQDatr9rP7W2Ip+bwrtc
144
- a+hwkXFsu1GEhTS9pD0wSNf7qwAAAYh7R2MeAAAEAwBGMEQCIFFZODv/duyiPhVL
145
- YCOEIIhmw2R8lFG5Gr2HFXND9Za6AiAi83t19FhYx0gYhSIX/O0HoougBw4yDxac
146
- i+Wqa4aGazANBgkqhkiG9w0BAQsFAAOCAQEAvpd3IVUdxxhfUt6ohaXS7kgps0Yt
147
- MQISW4geCaz0fvxN5OjJVn7eHtxTHycb3QdoORwukYYgKvCa0f/EtcKFp+ycuGIx
148
- qltpjjfUzOx7hoayqW1gi3BEynJ62ahUlvha5SsqSF1PU/uzyWdwo6bVvm2ZEVGJ
149
- MeOxQ1TgfM2W/S0SEuujjrQSJSO/pl1wxT+Mnw5dONBLqmcw18NHdiC9GlUqst83
150
- kmeIZREVYqgIP5PuwbF5MwMDC0bUX9KCMXdsQhKJ9PivMqtFWZG/gkRp0kl/G/NJ
151
- KDeFdDxNkhtWMExpeV38TaZ7xuf1NObdwCX4abKGOkSpQbo0zf6qINJXrQ==
114
+ MIIGIDCCBQigAwIBAgISBK7CRfy6rhbWOH7eBMQrQf2gMA0GCSqGSIb3DQEBCwUA
115
+ MDIxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQD
116
+ EwJSMzAeFw0yNDA2MDUxNDAyNDVaFw0yNDA5MDMxNDAyNDRaMCQxIjAgBgNVBAMM
117
+ GSouZzZmeWlhcS5tb25nb2RiLWRldi5uZXQwggIiMA0GCSqGSIb3DQEBAQUAA4IC
118
+ DwAwggIKAoICAQDA1JPyfLVkVqLtB6uWAGGNdAPuENx/kibqsckvejPSBbIl/xXA
119
+ /DdcjKk2gmbrB3D57LPKiJ0HUe/yGOOIO/f1sinif3sA3J+4lc/0WDcNzbDsm9DD
120
+ 7HHYTZdaosZmLsHcTzjzukM9PkYSqAh647z6Uj+0Tz4ln0rJ/a9CzGJZuuGSHGxX
121
+ LYb7YggIW/lePDvomrIcoIJYDOlAwiHCcZMyaET5YRO81shxHpw39LnNEzDNS0LA
122
+ xZWRhrXpf/Y33iCOzAU9FKopwr9PNHGJB1RbtM0TvVN0528zxXM2JFs3iNGe/Jjh
123
+ eqIlZcWxIa0smQsDLpIG78ExtjsAMgD1xHANHUMcpzEDQKaVbCmzk1Q7n71fRL66
124
+ BKlc8S0NBBhRJ3VH10sG59+8LE7HSxhg3lHOQalsahnRpQsD5eyJEGu0lLp5tgYR
125
+ LrJf5hnw+a0+T6TMPXtpRu1xHPZQbFMInqMFWd77NqGSrX14xjcT0RqaVsz7vSE0
126
+ 7I2lc1lvTqriLhbW1omSo4/XsEbPB3B13NyzcM8qEoROQVcQaHtf+Y9k0tTpwOu0
127
+ aDeHQDKe9n++MfvVNqQVulIkwV2u0EHj/4gJfeeYI7sJm3tt5MDKehtuMmNpQnsm
128
+ ncnww7lYiMN0ndNUOyAJdlxUTmD3NVPk+aqvDr0k0Q7Fin4m8OegJtCdAQIDAQAB
129
+ o4ICPDCCAjgwDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggr
130
+ BgEFBQcDAjAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBQDSmeLCxyGTJ3Z5uJDsbqT
131
+ U1DeKDAfBgNVHSMEGDAWgBQULrMXt1hWy65QCUDmH6+dixTCxjBVBggrBgEFBQcB
132
+ AQRJMEcwIQYIKwYBBQUHMAGGFWh0dHA6Ly9yMy5vLmxlbmNyLm9yZzAiBggrBgEF
133
+ BQcwAoYWaHR0cDovL3IzLmkubGVuY3Iub3JnLzBEBgNVHREEPTA7gh4qLmc2Znlp
134
+ YXEubWVzaC5tb25nb2RiLWRldi5uZXSCGSouZzZmeWlhcS5tb25nb2RiLWRldi5u
135
+ ZXQwEwYDVR0gBAwwCjAIBgZngQwBAgEwggEFBgorBgEEAdZ5AgQCBIH2BIHzAPEA
136
+ dgA/F0tP1yJHWJQdZRyEvg0S7ZA3fx+FauvBvyiF7PhkbgAAAY/o7IdnAAAEAwBH
137
+ MEUCIQCiIW9ZqG/fH9i/1QzIkJwV9gIglyJwvd/G+EECo4b7DwIgX0zlfTjXr3xA
138
+ QbGZigSDLJV/cTRCL7mU3O6F2S5q/g4AdwB2/4g/Crb7lVHCYcz1h7o0tKTNuync
139
+ aEIKn+ZnTFo6dAAAAY/o7IeTAAAEAwBIMEYCIQD6YzJuWFRvNu6cuvuv4V61qSSK
140
+ gYR65fOpOEJXzOMJyQIhAOK9fj1FKAWR9kYc6lwx2kqI0viimJ7joTYdQb/aCkXZ
141
+ MA0GCSqGSIb3DQEBCwUAA4IBAQBhdmenJx+sUln2c92Ya1IlsqMb8SOPB3V/6Rr6
142
+ x5lhPMTW1CSmLulnxhjKdldjv86tdJLh5YQdlIDyqZCljoN0gM/RLr73E26EIkTh
143
+ qb1ghYGt7hdo0eeD3aqONV4L5ZpSI03Ghcz8RQnT92MdcmkJmTZTl0NUUy5Hjewp
144
+ 8dJU5DX5hKHv8EsjzxyzBsVqvNl+s4w6dnQo2Ct1sv27w2ICRu3KR7LJevOZ48hc
145
+ asACpCW5LYKHbHofXUE3U4+KcZET7dc/rClYgwgfHWLU6dnIYwUNJERFRFi+Sgn/
146
+ 5VboZ60t7kL5o/r6P3Kr6+tLI5TzrJH1NGqKPS+JUlSkfl/b
152
147
  -----END CERTIFICATE-----
@@ -4,7 +4,7 @@
4
4
 
5
5
  require 'tmpdir'
6
6
 
7
- host = 'freecluster-shard-00-00-oztdp.mongodb-dev.net'
7
+ host = 'ac-ulwcmzm-shard-00-00.g6fyiaq.mongodb-dev.net'
8
8
 
9
9
  output = `openssl s_client -showcerts -servername #{host} -connect #{host}:27017 </dev/null`
10
10
 
@@ -17,6 +17,12 @@ module Constraints
17
17
  end
18
18
  end
19
19
 
20
+ def forbid_x509_auth
21
+ before(:all) do
22
+ skip 'X.509 auth not allowed' if SpecConfig.instance.x509_auth?
23
+ end
24
+ end
25
+
20
26
  def max_bson_version(version)
21
27
  required_version = version.split('.').map(&:to_i)
22
28
  actual_version = bson_version(required_version.length)
data/spec/support/ocsp CHANGED
@@ -1 +1 @@
1
- spec/support/../../.mod/drivers-evergreen-tools/.evergreen/ocsp
1
+ ../../.mod/drivers-evergreen-tools/.evergreen/ocsp
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+ # rubocop:todo all
3
+
4
+ require 'stringio'
5
+
6
+ # A "Logger-alike" class, quacking like ::Logger, used for recording messages
7
+ # as they are written to the log
8
+ class RecordingLogger < Logger
9
+ def initialize(*args, **kwargs)
10
+ @buffer = StringIO.new
11
+ super(@buffer, *args, **kwargs)
12
+ end
13
+
14
+ # Accesses the raw contents of the log
15
+ #
16
+ # @return [ String ] the raw contents of the log
17
+ def contents
18
+ @buffer.string
19
+ end
20
+
21
+ # Returns the contents of the log as individual lines.
22
+ #
23
+ # @return [ Array<String> ] the individual log lines
24
+ def lines
25
+ contents.split(/\n/)
26
+ end
27
+ end