1. May 26, 2023
    • dependabot[bot]'s avatar
      Bump requests from 2.30.0 to 2.31.0 · e3d9a9b9
      dependabot[bot] authored
      Bumps [requests](https://github.com/psf/requests) from 2.30.0 to 2.31.0.
      - [Release notes](https://github.com/psf/requests/releases)
      - [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
      - [Commits](https://github.com/psf/requests/compare/v2.30.0...v2.31.0
      
      )
      
      ---
      updated-dependencies:
      - dependency-name: requests
        dependency-type: indirect
      ...
      
      Signed-off-by: default avatardependabot[bot] <support@github.com>
      e3d9a9b9
    • vector-of-bool's avatar
      CDRIVER-4641: A Poetry project file (#1276) · cf875501
      vector-of-bool authored
      * A basic Poetry project for managing dev scripts and tools
        Fixup several other scripts to be set -u safe since we now import that
        setting.
      * Use Poetry to run Sphinx
      * Change variant used for release archive
        The release archive build invokes Sphinx, and since Sphinx is now installed by
        Poetry, we require a newer Python version. make-release-archive now runs
        on Ubuntu 22.04
      * abi-compliance-check needs u18
        The abi-compliance-check task assumes an external `abi-compliance-checker`
        tool is installed, but that is only true on the Ubuntu 18.04 EVG
        distros.
      * Significant script refactoring:
      - Split components into separate files, and provide a way to selectively
        import them from other scripts.
      - Download install-poetry.py on-the-fly when it is needed, not committed
        into the repository.
      - Add a download-file utility.
      - python.sh/poetry.sh are importable to be reused in other scripts.
      * Add notes about building docs to CONTRIBUTING
      * Parallelize the HTML build
      * Add a console script for EVG generation
      cf875501
  2. May 25, 2023
  3. May 24, 2023
    • Kevin Albertson's avatar
      CDRIVER-4645 add `mock-server-test` variant (#1277) · b9ca36ff
      Kevin Albertson authored
      * remove unused TOPOLOGY
      
      * remove `authentication-tests-openssl-static`
      
      * remove `debug-compile-asan-openssl-cse`
      
      Seems redundant with `asan-cse-sasl-cyrus-openssl-ubuntu1804-clang-compile`
      
      * remove `debug-compile-sasl-darwinssl-cse`
      
      Seems redundant with `cse-sasl-cyrus-darwinssl-macos-1100-clang-compile`.
      
      * remove `debug-compile-sasl-openssl-cse`
      
      Seems redundant with `cse-sasl-cyrus-openssl-*` tasks.
      
      * remove `debug-compile-sasl-winssl`
      
      Seems redundant with `sasl-cyrus-winssl-*` tasks.
      
      * remove `debug-compile-sasl-winssl-cse`
      
      Seems redundant with `cse-sasl-cyrus-winssl-*` tasks.
      
      * add `TestSuite_CheckLive` to `/counters` tests
      
      * expect `hello` and OP_MSG for load balanced tests
      
      CDRIVER-4193 changes to use OP_MSG and hello for handshake when in loadbalanced
      
      * add mock-server-test variant
      
      * remove `test-asan-memcheck-mock-server`
      
      Replaced by the new `mock-server-test` task.
      
      * format test-mongoc-loadbalanced.c
      
      * move `match_loadBalanced` declarations up
      
      * remove `run mock server tests` from legacy config
      b9ca36ff
  4. May 19, 2023
  5. May 17, 2023
  6. May 16, 2023
  7. May 13, 2023
    • Kevin Albertson's avatar
      CDRIVER-2099 Remove some deprecated documentation (#1265) · c0b51f4e
      Kevin Albertson authored
      * remove docs for `bson_md5_*`
      
      * remove documentation for mongoc_matcher_t
      
      * remove documentation for `mongoc_client_get_max_*_size`
      
      * use `BSON_GNUC_DEPRECATED_FOR` in bson_oid_init_sequence
      
      The documentation suggests using bson_oid_init as an alternative.
      
      * move "Deprecated" sections above "Synopsis"
      
      And uses consistent verbage.
      
      * add missing `BSON_GNUC_DEPRECATED` attributes
      
      * add `warning` and `deprecated` directives
      c0b51f4e
    • Kevin Albertson's avatar
      CDRIVER-4173 clarify the `reply` contains the full server reply (#1263) · bddb24c0
      Kevin Albertson authored
      
      
      * note that `reply` contains full server reply
      
      * fix documented return of `mongoc_collection_find_and_modify`
      
      * remove notes of MongoDB 3.2
      
      The minimum supported server version of the C driver is 3.6. Documentation can assume user is using 3.6 or newer.
      
      * link to findAndModify command manual page
      
      * group "returns `false`" and "sets `error`"
      
      Co-authored-by: default avatarvector-of-bool <vectorofbool@gmail.com>
      
      * Revert "remove notes of MongoDB 3.2"
      
      This reverts commit 591ade57d4bd2f78c8d98d9e3e7729ae153f9ea2.
      
      * add replacement for findAndModify
      
      ---------
      
      Co-authored-by: default avatarvector-of-bool <vectorofbool@gmail.com>
      bddb24c0
    • Kevin Albertson's avatar
      CDRIVER-4384 document and validate `hint` option in... · 1cb8d11a
      Kevin Albertson authored
      CDRIVER-4384 document and validate `hint` option in `mongoc_collection_count_documents` and `mongoc_collection_aggregate`. (#1267)
      
      * document `hint` option in `mongoc_collection_count_documents`
      
      * validate hint in `mongoc_collection_count_documents`
      
      * add `hint` to `mongoc_aggregate_opts_t`
      
      * add failing tests for hint validation
      
      * document other options are passed to `aggregate` command
      
      * add `mongoc_count_document_opts_t`
      
      * use `mongoc_count_document_opts_t`
      
      * note rationale for bson_value_t
      
      * test maxTimeMS is appended
      1cb8d11a
  8. May 12, 2023
  9. May 10, 2023
    • Romain Geissler @ Amadeus's avatar
      CDRIVER-4627 use `posix_fallocate` when available (#1244) · d83922ba
      Romain Geissler @ Amadeus authored
      Avoids an unexpected crash with SIGBUS when trying to allocate a /dev/shm shared memory but there is not enough memory. 
      
      Indeed ftruncate doesn't ensure memory is properly allocated, it ony
      changes the file size from the VFS point of view, but doesn't actually
      allocate any memory. So ftruncate might work despite we have no memory
      left, and later when trying to zero-memset the mmapped buffer, we might
      actually get a SIGBUS signal crashing the whole process.
      
      Instead, make sure we can allocate the whole shared memory using
      posix_fallocate and gracefully handle allocation problems, without
      crashing.
      
      The chromium project faced a similar issue in the past:
      https://bugs.chromium.org/p/chromium/issues/detail?id=951431
      d83922ba
    • Kevin Albertson's avatar
      update NEWS for 1.23.4 (#1261) · 2a24fef3
      Kevin Albertson authored
      2a24fef3
  10. May 09, 2023
    • Kevin Albertson's avatar
      CDRIVER-4323 update links (#1262) · c4693bf1
      Kevin Albertson authored
      * fix link to libbson package on fedoraproject.org
      
      * update links from "Command Monitoring" spec to newly named "Command Logging and Monitoring" spec
      
      * fix links to server errors
      
      * fix "canonical" link for libmongoc docs
      
      * apply regex replacement from DRIVERS-2249
      c4693bf1
  11. May 06, 2023
    • Andreas Braun's avatar
      CDRIVER-4635 Reset speculative_auth_response when resetting auth state (#1258) · b2afc3d0
      Andreas Braun authored
      
      
      * CDRIVER-4635 add regression test
      
      * reset authentication state before creating stream
      
      * remove unnecessary state reset in `mongoc_topology_scanner_node_disconnect`
      
      `mongoc_topology_scanner_node_disconnect` sets `stream` to NULL. That will result in the stream being recreated and state being reset in `mongoc_topology_scanner_node_setup`
      
      * skip `/Client/authenticate_cached/client` when using speculativeAuthentication
      
      This previously passed because SCRAM would fail speculativeAuthentication and restart the authentication steps. The restart would use the SCRAM cache.
      
      Now speculativeAuthentication succeeds. speculativeAuthentication in the topology scanner does not use the SCRAM cache (refer: CDRIVER-3642). This does not result in the expected error.
      
      * Reset scram step along with speculative authentication
      
      ---------
      
      Co-authored-by: default avatarKevin Albertson <kevin.albertson@mongodb.com>
      b2afc3d0
    • Ezra Chung's avatar
  12. May 05, 2023
    • Kevin Albertson's avatar
      CDRIVER-4483 add docs page for "In-Use Encryption" (#1255) · 68e48982
      Kevin Albertson authored
      * use IUE in docstring of ENABLE_CLIENT_SIDE_ENCRYPTION
      
      * use IUE in error reporting docs
      
      * add IUE page
      
      * rename using_client_side_encryption to client-side-field-level-encryption
      
      * replace "Client-Side Encryption" with CSFLE
      
      For consistency with MongoDB Manual
      
      * remove Installation from CSFLE page
      
      It is moved to IUE page
      
      * remove notes of mongocryptd from CSFLE docs
      
      Use of mongocryptd is documented in IUE page
      
      * replace spec link with manual links in `*_opts_set_extra`
      
      * replace links of client-side-encryption to in-use-encryption
      
      * use IUE in `*_enable_auto_encryption`
      
      * use IUE links instead of CSFLE links
      
      For documentation that applies to both CSFLE and QE
      
      * use QE links for API only applicable to QE
      
      * remove orphan directive
      
      QE page is now in Table-Of-Contents of IUE page
      
      * add QE MongoDB Manual links
      
      * replace spec links with MongoDB Manual
      
      MongoDB Manual is intended for users. Specifications are intended for driver developers.
      
      * remove unused :man-page:
      
      The intended text is :man_page:. The page was not generated.
      Adding CSFLE examples to man pages may not be necessary.
      
      * note API specific to IUE and QE
      
      * add Manual links to QE and CSFLE pages
      
      * consistently refer to "automatic encryption"
      
      * link to Query Analysis
      
      * remove redundant doc titles
      68e48982
  13. May 04, 2023
    • Ezra Chung's avatar
      CDRIVER-4621 Replace codecov-bash with new Codecov Uploader (#1257) · 89717a3b
      Ezra Chung authored
      * CDRIVER-4621 Replace codecov-bash with new Codecov Uploader
      
      * Do not limit coverage to CSE tests only
      
      * Remove redundant -DENABLE_CLIENT_SIDE_ENCRYPTION in CSE compile tasks
      
      * Reduce verbosity of code coverage tools
      
      * Update Codecov filters to ignore vendored/bundled libraries and test code
      89717a3b
    • Ezra Chung's avatar
      CDRIVER-4193 Ensure OP_MSG for handshakes and fix RPC op_egress counters (#1256) · f14370ea
      Ezra Chung authored
      * Move SHM count function into mongoc-counters-private.h
      
      * Declare test_framework_has_compressors in test-libmongoc.h
      
      * Allow /counters/op_msg and /counters/op_compressed with auth
      
      * Add _mongoc_rpc_op_egress_inc
      
      * CDRIVER-4193 RTT thread should also use hello if serverApi is given
      
      * Do not increment RPC op_egress counters in mock server
      
      * Add /counters/rpc/op_egress tests
      
      * CDRIVER-4121 Add /counters/rpc/egress/auth
      
      * CDRIVER-4622 RPC op_egress increment: mongoc_async_cmd_new -> mongoc_async_cmd_phase_send
      
      * Add mongoc_<object>_uses_loadbalanced
      
      * CDRIVER-4265 Use OP_MSG for handshakes when loadBalanced=true
      
      * Clarify meaning of RPC op_egress counters in documentation
      f14370ea
  14. May 03, 2023
    • Kyle Kloberdanz's avatar
      Fix compiler warning (#1254) · 49318c24
      Kyle Kloberdanz authored
      GCC 13 warns that `pool` may be used uninitialized. This is a false
      positive because pool will only be used in the case that it is
      initialized, but by initializing it to NULL we can avoid this warning.
      49318c24
  15. May 02, 2023
  16. Apr 29, 2023
    • Kevin Albertson's avatar
      CDRIVER-4556 Remove use of `collStats` (#1249) · 2d27a111
      Kevin Albertson authored
      
      
      * sync specification tests to commit 6632b7606e74c6e83ee2d80b7571f55485c7ff33
      
      * remove runCommand Example 2
      
      The example removed from DRIVERS-448.
      
      * suggest $collStats in mongoc_collection_stats
      
      * move example in mongoc_collection_command_simple to example source
      
      * add missing declaration of `str`
      
      * use `ping` instead of `collStats` command
      
      * move Executing Commands code to example
      
      * replace `collStats` with `ping`
      
      * use `mongoc_client_command_simple`
      
      To simplify the example.
      There is no need to run the command with the mongoc_collection_t handle.
      
      * remove note about returning cursors
      
      `mongoc_collection_command`, `mongoc_database_command` and `mongoc_client_command` return a cursor. They are documented as `superseded` by other helpers.
      
      * skip test using collStats on servers > 6.0
      
      * remove redundant captions
      
      Co-authored-by: default avatarEzra Chung <88335979+eramongodb@users.noreply.github.com>
      
      ---------
      
      Co-authored-by: default avatarEzra Chung <88335979+eramongodb@users.noreply.github.com>
      2d27a111
  17. Apr 28, 2023
    • Ezra Chung's avatar
    • Ezra Chung's avatar
      CDRIVER-4629 Remove code requiring maxWireVersion less than WIRE_VERSION_OP_MSG (#1248) · 46e65b58
      Ezra Chung authored
      * Sync deleted max-staleness tests (CDRIVER-4152, CDRIVER-4204)
      
      * Update /retryable_writes/failover to account for WIRE_VERSION_RETRYABLE_WRITE_ERROR_LABEL
      
      * Update /inheritance/aggregate to account for CDRIVER-3893
      
      * Remove references to WIRE_VERSION_FIND_CMD
      
      * Remove references to WIRE_VERSION_KILLCURSORS_CMD
      
      * Remove references to WIRE_VERSION_FAM_WRITE_CONCERN
      
      * Remove references to WIRE_VERSION_READ_CONCERN
      
      * Remove references to WIRE_VERSION_MAX_STALENESS
      
      * Remove references to WIRE_VERSION_CMD_WRITE_CONCERN
      
      * Remove references to WIRE_VERSION_COLLATION
      
      * Remove references to WIRE_VERSION_HINT_SERVER_SIDE_ERROR
      
      * Remove references to WIRE_VERSION_ARRAY_FILTERS
      
      * Remove references to WIRE_VERSION_RETRY_READS
      
      * Remove references to WIRE_VERSION_RETRY_WRITES
      
      * Remove references to WIRE_VERSION_OP_MSG
      
      * Remove references to WIRE_VERSION_CHECKS (6) test framework functions
      46e65b58
    • Kevin Albertson's avatar
      remove `scan-build-ubuntu1404-clang` task (#1247) · b33adad4
      Kevin Albertson authored
      * format scan_build.py
      
      * remove `scan-build-ubuntu1404-clang` task
      
      It fails to clone libmongocrypt due to a certificate verification failure. The Ubuntu 14.04 distro is EOL.
      b33adad4
  18. Apr 27, 2023
    • Kyle Kloberdanz's avatar
      Fix build for FreeBSD (#1243) · 4a0e816e
      Kyle Kloberdanz authored
      
      
      CDRIVER-4465
      
      - Some standard library features need __BSD_VISIBLE set to 1 to be enabled on FreeBSD
      - Cmake does not properly detect res_search on FreeBSD. Since res_search has existed since 4.3 BSD (which is the predecessor of FreeBSD), it is safe to assume that this function will exist in libc on any version of FreeBSD.
      
      Co-authored-by: default avatarKevin Albertson <kevin.albertson@10gen.com>
      4a0e816e
  19. Apr 26, 2023
    • Kevin Albertson's avatar
      CDRIVER-4557 add int64 `connection_id` functions (#1246) · 4249c975
      Kevin Albertson authored
      * add connection_id_int64 functions
      
      * deprecate int32 connection_id functions
      
      * replace use of int32 with connection_id with int64
      
      * add deprecation notes to documentation
      
      * document connection_id with int64
      
      * add warning when int64 is out of int32 range
      4249c975
  20. Apr 25, 2023
  21. Apr 22, 2023
  22. Apr 21, 2023
  23. Apr 20, 2023