1. Jun 07, 2023
  2. Jun 06, 2023
  3. Jun 05, 2023
    • Ezra Chung's avatar
      Add C11 and C17 conformance coverage with VS 2017 (#1294) · 3ca6cf3a
      Ezra Chung authored
      * Revert incorrect invocation of find_cmake_latest on source
      
      * Migrate tasks on windows-64-vs2017 to windows-vsCurrent
      
      * Use latest CMake in debug-compile-aws for VS 2022 support
      
      * Ensure libmongocrypt compilation output is printed on failure
      
      * Cherry-pick VS 2022 ICE patch in libmongocrypt
      
      * CDRIVER-4334 Remove rhel62 from distro list
      
      * CDRIVER-4549 Add VS 2017 to std-matrix
      
      * Replace `make` -> `cmake --build`
      3ca6cf3a
  4. Jun 03, 2023
  5. Jun 02, 2023
  6. Jun 01, 2023
  7. May 31, 2023
  8. May 26, 2023
    • 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
  9. May 25, 2023
  10. 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
  11. May 19, 2023
  12. May 17, 2023
  13. May 16, 2023
  14. 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
  15. May 12, 2023
  16. 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
  17. 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
  18. 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
  19. 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
  20. 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
  21. 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