Your message dated Mon, 07 Jun 2021 18:43:32 +0000
with message-id <e1lqkdk-0005o3...@respighi.debian.org>
and subject line unblock mongo-c-driver
has caused the Debian Bug report #989475,
regarding unblock: mongo-c-driver/1.17.6-1
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
989475: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=989475
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
User: release.debian....@packages.debian.org
Usertags: unblock

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Please unblock package mongo-c-driver

The latest version of the mongo-c-driver package includes a fix for an
assertion failure that occurs when speculative SCRAM authentication
fails with a network error.  This is not a security-sensitive issue, but
it is a bug that could affect clients which use libmongoc.

THe debdiff is attached.  Note that the diffstat seems rather
substantial:

 mongo-c-driver-1.17.6/.evergreen/build_snapshot_rpm.sh                         
       |   58
 mongo-c-driver-1.17.6/.evergreen/config.yml                                    
       |   18
 mongo-c-driver-1.17.6/.evergreen/mongo-c-driver.spec                           
       |  582 ++++++++++
 mongo-c-driver-1.17.6/.evergreen/spec.patch                                    
       |   31
 mongo-c-driver-1.17.6/NEWS                                                     
       |   52
 mongo-c-driver-1.17.6/build/evergreen_config_lib/tasks.py                      
       |    6
 mongo-c-driver-1.17.6/debian/changelog                                         
       |   18
 mongo-c-driver-1.17.6/debian/gbp.conf                                          
       |    7
 mongo-c-driver-1.17.6/src/libbson/CMakeLists.txt                               
       |   15
 mongo-c-driver-1.17.6/src/libbson/NEWS                                         
       |   36
 mongo-c-driver-1.17.6/src/libbson/src/bson/bson.c                              
       |    2
 mongo-c-driver-1.17.6/src/libbson/tests/test-bson.c                            
       |   48
 mongo-c-driver-1.17.6/src/libmongoc/doc/includes/init_cleanup.txt              
       |    2
 mongo-c-driver-1.17.6/src/libmongoc/doc/logging.rst                            
       |    7
 mongo-c-driver-1.17.6/src/libmongoc/src/mongoc/mongoc-cluster.c                
       |    6
 mongo-c-driver-1.17.6/src/libmongoc/src/mongoc/mongoc-collection.c             
       |    5
 mongo-c-driver-1.17.6/src/libmongoc/src/mongoc/mongoc-socket.c                 
       |    9
 mongo-c-driver-1.17.6/src/libmongoc/tests/test-mongoc-change-stream.c          
       |    2
 mongo-c-driver-1.17.6/src/libmongoc/tests/test-mongoc-client.c                 
       |  142 ++
 mongo-c-driver-1.17.6/src/libmongoc/tests/test-mongoc-collection.c             
       |   60 +
 21 files changed, 1050 insertions(+), 56 deletions(-)

However, after eliminating the changes in the CI infrastructure and unit
tests, the remaining changes are:

 mongo-c-driver-1.17.6/NEWS                                                     
       |   52
 mongo-c-driver-1.17.6/build/evergreen_config_lib/tasks.py                      
       |    6
 mongo-c-driver-1.17.6/debian/changelog                                         
       |   18
 mongo-c-driver-1.17.6/debian/gbp.conf                                          
       |    7
 mongo-c-driver-1.17.6/src/libbson/CMakeLists.txt                               
       |   15
 mongo-c-driver-1.17.6/src/libbson/NEWS                                         
       |   36
 mongo-c-driver-1.17.6/src/libbson/src/bson/bson.c                              
       |    2
 mongo-c-driver-1.17.6/src/libmongoc/doc/includes/init_cleanup.txt              
       |    2
 mongo-c-driver-1.17.6/src/libmongoc/doc/logging.rst                            
       |    7
 mongo-c-driver-1.17.6/src/libmongoc/src/mongoc/mongoc-cluster.c                
       |    6
 mongo-c-driver-1.17.6/src/libmongoc/src/mongoc/mongoc-collection.c             
       |    5
 mongo-c-driver-1.17.6/src/libmongoc/src/mongoc/mongoc-socket.c                 
       |    9

This is a total of 156 lines of diff.  My hope is that overall change is
small enough to allow 1.17.6-1 into testing, rather having to go the
t-p-u route.

unblock mongo-c-driver/1.17.6-1


Regards,

- -Roberto

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEIYZ1DR4ae5UL01q7ldFmTdL1kUIFAmC6a80ACgkQldFmTdL1
kUIa9w//Z0C1oBKFc+P+HagWBTCYqhGCwtzfHDQg6vCSNYwgNV1OHaG8WUysy1VP
hdHd6n9Z6SzIOLp8ajVMDi0GcuCiUN1drzMSJt5TdTIqwrfZV0s84Uu2OGRNwEpb
gWs+x+E45OfVQUcmf00Bplt4Ts8UXNX0BTawaW+hDlPF7KGwK5lZGnsH0wQ98Xqd
tGRpMYtZnxfXQLo3YNzQ8XDwgOlQCFTNqEleK6e3MnQG32NSzWDmGvAkc+sUOq1/
uMxPcL1ImA5nqKgv7BTqHQIJuqzTVEpwtsY0JvXHAL5AoVULGnPrtr+xy8lKOSnq
+FhLDFfgt0zAl3A/6RSTr+sRrHHKa9reJzL2pKtHTFcHw5v1hySSgmeHEhRwJ3Rk
glMd2VF0mHAbTLCPDLAZdztnEXuz0MRS28Y6ff5SaDZU5wXYXkO77I+p5KlqkI3Z
XJW/2k93taEr4XK3BAgqQAnV3oYmakYtVbTIWgtsI5ESmNG2P5HB4DzCR9o6iFlf
UOcsyuEuuxHaHZ3PsDd8n2Fzz4Hs1+RnDLGyqVNQf+fp/Onikx4mWTm0LaVJPBGI
QObdZiDI/Uy0I0R/3ncAXywSv64zbdCUTs49fFszf0sYrjGqfCqOF3j5PdJkWHn0
RSJNOl4bsa1TflWV24vygAULYcu9yUGS0ghonpWab3Kx5SPkg6o=
=TIcQ
-----END PGP SIGNATURE-----
diff -Nru mongo-c-driver-1.17.3/.evergreen/build_snapshot_rpm.sh 
mongo-c-driver-1.17.6/.evergreen/build_snapshot_rpm.sh
--- mongo-c-driver-1.17.3/.evergreen/build_snapshot_rpm.sh      2020-12-01 
17:25:25.000000000 -0500
+++ mongo-c-driver-1.17.6/.evergreen/build_snapshot_rpm.sh      2021-06-04 
13:05:48.000000000 -0400
@@ -32,7 +32,7 @@
     echo "  current repository."
     echo ""
     echo "  This script must be called from the base directory of the 
repository, and"
-    echo "  requires utilites from these packages: rpm-build, mock, curl"
+    echo "  requires utilities from these packages: rpm-build, mock"
     echo ""
     exit
   fi
@@ -40,8 +40,7 @@
 
 package=mongo-c-driver
 spec_file=../mongo-c-driver.spec
-spec_url=https://src.fedoraproject.org/rpms/mongo-c-driver/raw/master/f/mongo-c-driver.spec
-config=${MOCK_TARGET_CONFIG:=fedora-29-x86_64}
+config=${MOCK_TARGET_CONFIG:=fedora-34-x86_64}
 
 if [ ! -x /usr/bin/rpmbuild -o ! -x /usr/bin/rpmspec ]; then
   echo "Missing the rpmbuild or rpmspec utility from the rpm-build package"
@@ -58,20 +57,11 @@
   exit 1
 fi
 
-if [ ! -x /usr/bin/curl ]; then
-  echo "Missing curl"
-  exit 1
-fi
-
 if [ -f "${spec_file}" ]; then
   echo "Found old spec file (${spec_file})...removing"
   rm -f  ${spec_file}
 fi
-/usr/bin/curl -L --retry 5 -o "${spec_file}" "${spec_url}"
-if [ "${?}" != "0" -o ! -f "${spec_file}" ]; then
-  echo "Could not retrieve spec file from URL: ${spec_url}"
-  exit 1
-fi
+cp "$(pwd)/.evergreen/${package}.spec" ..
 if [ -f .evergreen/spec.patch ]; then
   patch -d .. -p0 -i $(pwd)/.evergreen/spec.patch
 fi
@@ -84,19 +74,17 @@
 
 build_dir=$(basename $(pwd))
 
-sudo mock -r ${config} --bootstrap-chroot --old-chroot --clean
-sudo mock -r ${config} --bootstrap-chroot --old-chroot --init
-mock_root=$(sudo mock -r ${config} --bootstrap-chroot --old-chroot 
--print-root-path)
-sudo mock -r ${config} --bootstrap-chroot --old-chroot --install rpmdevtools 
git rpm-build cmake python python2-sphinx gcc openssl-devel
-sudo mock -r ${config} --bootstrap-chroot --old-chroot --copyin "$(pwd)" 
"$(pwd)/${spec_file}" /tmp
-if [ ! -f VERSION_CURRENT ]; then
-  sudo mock -r ${config} --bootstrap-chroot --old-chroot --cwd 
"/tmp/${build_dir}" --chroot -- /bin/sh -c "(
-    set -o xtrace ;
-    python build/calc_release_version.py | sed -E 's/([^-]+).*/\1/' > 
VERSION_CURRENT ;
-    python build/calc_release_version.py -p > VERSION_RELEASED
-    )"
-  sudo mock -r ${config} --bootstrap-chroot --old-chroot --copyout 
"/tmp/${build_dir}/VERSION_CURRENT" "/tmp/${build_dir}/VERSION_RELEASED" .
-fi
+sudo mock -r ${config} --use-bootstrap-image --isolation=simple --clean
+sudo mock -r ${config} --use-bootstrap-image --isolation=simple --init
+mock_root=$(sudo mock -r ${config} --use-bootstrap-image --isolation=simple 
--print-root-path)
+sudo mock -r ${config} --use-bootstrap-image --isolation=simple --install 
rpmdevtools git rpm-build cmake python python3-sphinx gcc openssl-devel
+sudo mock -r ${config} --use-bootstrap-image --isolation=simple --copyin 
"$(pwd)" "$(pwd)/${spec_file}" /tmp
+sudo mock -r ${config} --use-bootstrap-image --isolation=simple --cwd 
"/tmp/${build_dir}" --chroot -- /bin/sh -c "(
+  set -o xtrace ;
+  python build/calc_release_version.py | sed -E 's/([^-]+).*/\1/' > 
VERSION_CURRENT ;
+  python build/calc_release_version.py -p > VERSION_RELEASED
+  )"
+sudo mock -r ${config} --use-bootstrap-image --isolation=simple --copyout 
"/tmp/${build_dir}/VERSION_CURRENT" "/tmp/${build_dir}/VERSION_RELEASED" .
 
 bare_upstream_version=$(sed -E 's/([^-]+).*/\1/' VERSION_CURRENT)
 # Upstream version in the .spec file cannot have hyphen (-); replace the 
current
@@ -110,12 +98,12 @@
 
 if [ -n "${current_package_version##*${git_rev}*}" ]; then
   echo "Making RPM changelog entry"
-  sudo mock -r ${config} --bootstrap-chroot --old-chroot --cwd 
"/tmp/${build_dir}" --chroot -- rpmdev-bumpspec --comment="Built from Git 
Snapshot." --userstring="Test User <t...@example.com>" 
--new="${snapshot_version}%{?dist}" ${spec_file}
+  sudo mock -r ${config} --use-bootstrap-image --isolation=simple --cwd 
"/tmp/${build_dir}" --chroot -- rpmdev-bumpspec --comment="Built from Git 
Snapshot." --userstring="Test User <t...@example.com>" 
--new="${snapshot_version}%{?dist}" ${spec_file}
 fi
 
-sudo mock -r ${config} --bootstrap-chroot --old-chroot --copyout 
"/tmp/${build_dir}/${spec_file}" ..
+sudo mock -r ${config} --use-bootstrap-image --isolation=simple --copyout 
"/tmp/${build_dir}/${spec_file}" ..
 
-sudo mock -r ${config} --bootstrap-chroot --old-chroot --cwd 
"/tmp/${build_dir}" --chroot -- /bin/sh -c "(
+sudo mock -r ${config} --use-bootstrap-image --isolation=simple --cwd 
"/tmp/${build_dir}" --chroot -- /bin/sh -c "(
   set -o xtrace ;
   [ -d cmake-build ] || mkdir cmake-build ;
   cd cmake-build ;
@@ -124,7 +112,7 @@
   )"
 
 [ -d cmake-build ] || mkdir cmake-build
-sudo mock -r ${config} --bootstrap-chroot --old-chroot --copyout 
"/tmp/${build_dir}/cmake-build/${package}*.tar.gz" cmake-build
+sudo mock -r ${config} --use-bootstrap-image --isolation=simple --copyout 
"/tmp/${build_dir}/cmake-build/${package}*.tar.gz" cmake-build
 
 [ -d ~/rpmbuild/SOURCES ] || mkdir -p 
~/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}
 mv cmake-build/${package}*.tar.gz ~/rpmbuild/SOURCES/
@@ -133,10 +121,10 @@
 rpmbuild -bs ${spec_file}
 echo "Building binary RPMs ..."
 mock_result=$(readlink -f ../mock-result)
-sudo mock --resultdir="${mock_result}" --bootstrap-chroot --old-chroot -r 
${config} --no-clean --no-cleanup-after --rebuild 
~/rpmbuild/SRPMS/${package}-${snapshot_version}*.src.rpm
-sudo mock -r ${config} --bootstrap-chroot --old-chroot --copyin 
"${mock_result}" /tmp
+sudo mock --resultdir="${mock_result}" --use-bootstrap-image 
--isolation=simple -r ${config} --no-clean --no-cleanup-after --rebuild 
~/rpmbuild/SRPMS/${package}-${snapshot_version}*.src.rpm
+sudo mock -r ${config} --use-bootstrap-image --isolation=simple --copyin 
"${mock_result}" /tmp
 
-sudo mock -r ${config} --bootstrap-chroot --old-chroot --cwd 
"/tmp/${build_dir}" --chroot -- /bin/sh -c "(
+sudo mock -r ${config} --use-bootstrap-image --isolation=simple --cwd 
"/tmp/${build_dir}" --chroot -- /bin/sh -c "(
   set -o xtrace &&
   rpm -Uvh ../mock-result/*.rpm &&
   gcc -I/usr/include/libmongoc-1.0 -I/usr/include/libbson-1.0 -o 
example-client src/libmongoc/examples/example-client.c -lmongoc-1.0 -lbson-1.0
@@ -144,10 +132,10 @@
 
 if [ ! -e "${mock_root}/tmp/${build_dir}/example-client" ]; then
   echo "Example was not built!"
-  sudo mock -r ${config} --bootstrap-chroot --old-chroot --clean
+  sudo mock -r ${config} --use-bootstrap-image --isolation=simple --clean
   exit 1
 fi
 
-sudo mock -r ${config} --bootstrap-chroot --old-chroot --clean
+sudo mock -r ${config} --use-bootstrap-image --isolation=simple --clean
 (cd "${mock_result}" ; tar zcvf ../rpm.tar.gz *.rpm)
 
diff -Nru mongo-c-driver-1.17.3/.evergreen/config.yml 
mongo-c-driver-1.17.6/.evergreen/config.yml
--- mongo-c-driver-1.17.3/.evergreen/config.yml 2020-12-01 17:25:25.000000000 
-0500
+++ mongo-c-driver-1.17.6/.evergreen/config.yml 2021-06-04 13:05:48.000000000 
-0400
@@ -1621,6 +1621,15 @@
       permissions: public-read
       local_file: deb.tar.gz
       content_type: ${content_type|application/x-gzip}
+  - command: s3.put
+    params:
+      aws_key: ${aws_key}
+      aws_secret: ${aws_secret}
+      remote_file: 
${project}/${branch_name}/${revision}/${version_id}/${build_id}/${execution}/mongo-c-driver-debian-packages.tar.gz
+      bucket: mciuploads
+      permissions: public-read
+      local_file: deb.tar.gz
+      content_type: ${content_type|application/x-gzip}
 - name: rpm-package-build
   commands:
   - command: shell.exec
@@ -1640,6 +1649,15 @@
       bucket: mciuploads
       permissions: public-read
       local_file: rpm.tar.gz
+      content_type: ${content_type|application/x-gzip}
+  - command: s3.put
+    params:
+      aws_key: ${aws_key}
+      aws_secret: ${aws_secret}
+      remote_file: 
${project}/${branch_name}/${revision}/${version_id}/${build_id}/${execution}/mongo-c-driver-rpm-packages.tar.gz
+      bucket: mciuploads
+      permissions: public-read
+      local_file: rpm.tar.gz
       content_type: ${content_type|application/x-gzip}
 - name: install-uninstall-check-mingw
   depends_on:
diff -Nru mongo-c-driver-1.17.3/.evergreen/mongo-c-driver.spec 
mongo-c-driver-1.17.6/.evergreen/mongo-c-driver.spec
--- mongo-c-driver-1.17.3/.evergreen/mongo-c-driver.spec        1969-12-31 
19:00:00.000000000 -0500
+++ mongo-c-driver-1.17.6/.evergreen/mongo-c-driver.spec        2021-06-04 
13:05:48.000000000 -0400
@@ -0,0 +1,582 @@
+# remirepo/fedora spec file for mongo-c-driver
+#
+# Copyright (c) 2015-2021 Remi Collet
+# License: CC-BY-SA
+# http://creativecommons.org/licenses/by-sa/4.0/
+#
+# Please, preserve the changelog entries
+#
+%global gh_owner     mongodb
+%global gh_project   mongo-c-driver
+%global libname      libmongoc
+%global libver       1.0
+%global up_version   1.17.5
+#global up_prever    rc0
+# disabled as require a MongoDB server
+%bcond_with          tests
+
+Name:      mongo-c-driver
+Summary:   Client library written in C for MongoDB
+Version:   %{up_version}%{?up_prever:~%{up_prever}}
+Release:   1%{?dist}
+# See THIRD_PARTY_NOTICES
+License:   ASL 2.0 and ISC and MIT and zlib
+URL:       https://github.com/%{gh_owner}/%{gh_project}
+
+Source0:   
https://github.com/%{gh_owner}/%{gh_project}/releases/download/%{up_version}%{?up_prever:-%{up_prever}}/%{gh_project}-%{up_version}%{?up_prever:-%{up_prever}}.tar.gz
+
+BuildRequires: cmake >= 3.1
+BuildRequires: gcc
+BuildRequires: make
+# pkg-config may pull compat-openssl10
+BuildRequires: openssl-devel
+BuildRequires: pkgconfig(libsasl2)
+BuildRequires: pkgconfig(zlib)
+BuildRequires: pkgconfig(snappy)
+BuildRequires: pkgconfig(icu-uc)
+BuildRequires: pkgconfig(libzstd)
+%if %{with tests}
+BuildRequires: mongodb-server
+BuildRequires: openssl
+%endif
+BuildRequires: cmake(mongocrypt)
+BuildRequires: perl-interpreter
+# From man pages
+BuildRequires: python3
+BuildRequires: /usr/bin/sphinx-build
+
+Requires:   %{name}-libs%{?_isa} = %{version}-%{release}
+# Sub package removed
+Obsoletes:  %{name}-tools         < 1.3.0
+Provides:   %{name}-tools         = %{version}
+Provides:   %{name}-tools%{?_isa} = %{version}
+
+
+%description
+%{name} is a client library written in C for MongoDB.
+
+
+%package libs
+Summary:    Shared libraries for %{name}
+
+%description libs
+This package contains the shared libraries for %{name}.
+
+
+%package devel
+Summary:    Header files and development libraries for %{name}
+Requires:   %{name}%{?_isa} = %{version}-%{release}
+Requires:   pkgconfig
+Requires:   cmake-filesystem
+Requires:   pkgconfig(libzstd)
+Requires:   cmake(mongocrypt)
+
+%description devel
+This package contains the header files and development libraries
+for %{name}.
+
+Documentation: http://mongoc.org/libmongoc/%{version}/
+
+
+%package -n libbson
+Summary:    Building, parsing, and iterating BSON documents
+# Modified (with bson allocator and some warning fixes and huge indentation
+# refactoring) jsonsl is bundled <https://github.com/mnunberg/jsonsl>.
+# jsonsl upstream likes copylib approach and does not plan a release
+# <https://github.com/mnunberg/jsonsl/issues/14>.
+Provides:   bundled(jsonsl)
+
+%description -n libbson
+This is a library providing useful routines related to building, parsing,
+and iterating BSON documents <http://bsonspec.org/>.
+
+
+%package -n libbson-devel
+Summary:    Development files for %{name}
+Requires:   libbson%{?_isa} = %{version}-%{release}
+Requires:   pkgconfig
+Requires:   cmake-filesystem
+
+%description -n libbson-devel
+This package contains libraries and header files needed for developing
+applications that use %{name}.
+
+Documentation: http://mongoc.org/libbson/%{version}/
+
+
+%prep
+%setup -q -n %{gh_project}-%{up_version}%{?up_prever:-%{up_prever}}
+
+
+%build
+%cmake \
+    -DENABLE_BSON:STRING=ON \
+    -DENABLE_MONGOC:BOOL=ON \
+    -DENABLE_SHM_COUNTERS:BOOL=ON \
+    -DENABLE_SSL:STRING=OPENSSL \
+    -DENABLE_SASL:STRING=CYRUS \
+    -DENABLE_MONGODB_AWS_AUTH:STRING=ON \
+    -DENABLE_ICU:STRING=ON \
+    -DENABLE_AUTOMATIC_INIT_AND_CLEANUP:BOOL=OFF \
+    -DENABLE_CRYPTO_SYSTEM_PROFILE:BOOL=ON \
+    -DENABLE_MAN_PAGES:BOOL=ON \
+    -DENABLE_STATIC:STRING=OFF \
+%if %{with tests}
+    -DENABLE_TESTS:BOOL=ON \
+%else
+    -DENABLE_TESTS:BOOL=OFF \
+%endif
+    -DENABLE_EXAMPLES:BOOL=OFF \
+    -DENABLE_UNINSTALL:BOOL=OFF \
+    -DENABLE_CLIENT_SIDE_ENCRYPTION:BOOL=ON \
+    -S .
+
+%if 0%{?cmake_build:1}
+%cmake_build
+%else
+make %{?_smp_mflags}
+%endif
+
+
+%install
+%if 0%{?cmake_install:1}
+%cmake_install
+%else
+make install DESTDIR=%{buildroot}
+%endif
+
+: Static library
+rm -f  %{buildroot}%{_libdir}/*.a
+rm -rf %{buildroot}%{_libdir}/cmake/*static*
+rm -rf %{buildroot}%{_libdir}/pkgconfig/*static*
+: Documentation
+rm -rf %{buildroot}%{_datadir}/%{name}
+
+
+%check
+ret=0
+
+%if %{with tests}
+: Run a server
+mkdir dbtest
+mongod \
+  --journal \
+  --ipv6 \
+  --unixSocketPrefix /tmp \
+  --logpath     $PWD/server.log \
+  --pidfilepath $PWD/server.pid \
+  --dbpath      $PWD/dbtest \
+  --fork
+
+: Run the test suite
+export MONGOC_TEST_OFFLINE=on
+export MONGOC_TEST_SKIP_MOCK=on
+#export MONGOC_TEST_SKIP_SLOW=on
+
+make check || ret=1
+
+: Cleanup
+[ -s server.pid ] && kill $(cat server.pid)
+%endif
+
+if grep -r static %{buildroot}%{_libdir}/cmake; then
+  : cmake configuration file contain reference to static library
+  ret=1
+fi
+exit $ret
+
+
+
+%files
+%{_bindir}/mongoc-stat
+
+%files libs
+%{!?_licensedir:%global license %%doc}
+%license COPYING
+%license THIRD_PARTY_NOTICES
+%{_libdir}/%{libname}-%{libver}.so.*
+
+%files devel
+%doc src/%{libname}/examples
+%doc NEWS
+%{_includedir}/%{libname}-%{libver}
+%{_libdir}/%{libname}-%{libver}.so
+%{_libdir}/pkgconfig/%{libname}-*.pc
+%{_libdir}/cmake/%{libname}-%{libver}
+%{_libdir}/cmake/mongoc-%{libver}
+%{_mandir}/man3/mongoc*
+
+%files -n libbson
+%license COPYING
+%license THIRD_PARTY_NOTICES
+%{_libdir}/libbson*.so.*
+
+%files -n libbson-devel
+%doc src/libbson/examples
+%doc src/libbson/NEWS
+%{_includedir}/libbson-%{libver}
+%{_libdir}/libbson*.so
+%{_libdir}/cmake/libbson-%{libver}
+%{_libdir}/cmake/bson-%{libver}
+%{_libdir}/pkgconfig/libbson-*.pc
+%{_mandir}/man3/bson*
+
+
+%changelog
+* Fri Apr  9 2021 Remi Collet <r...@remirepo.net> - 1.17.5-1
+- update to 1.17.5 (no change)
+
+* Thu Feb  4 2021 Remi Collet <r...@remirepo.net> - 1.17.4-1
+- update to 1.17.4
+
+* Tue Jan 26 2021 Fedora Release Engineering <rel...@fedoraproject.org> - 
1.17.3-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
+
+* Wed Dec  2 2020 Remi Collet <r...@remirepo.net> - 1.17.3-1
+- update to 1.17.3
+
+* Wed Nov  4 2020 Remi Collet <r...@remirepo.net> - 1.17.2-1
+- update to 1.17.2
+
+* Wed Oct  7 2020 Remi Collet <r...@remirepo.net> - 1.17.1-1
+- update to 1.17.1
+
+* Fri Jul 31 2020 Remi Collet <r...@remirepo.net> - 1.17.0-1
+- update to 1.17.0
+
+* Tue Jul 28 2020 Fedora Release Engineering <rel...@fedoraproject.org> - 
1.17.0~rc0-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
+
+* Fri Jul 24 2020 Remi Collet <r...@remirepo.net> - 1.17.0~rc0-2
+- use more cmake macros
+- add upstream patch for latest sphinx
+
+* Fri Jul 17 2020 Remi Collet <r...@remirepo.net> - 1.17.0~rc0-1
+- update to 1.17.0-rc0
+
+* Thu Jun 11 2020 Remi Collet <r...@remirepo.net> - 1.17.0~beta2-2
+- rebuild
+
+* Wed Jun 10 2020 Remi Collet <r...@remirepo.net> - 1.17.0~beta2-1
+- update to 1.17.0-beta2
+- drop patch merged upstream
+
+* Fri May 15 2020 Pete Walter <pwal...@fedoraproject.org> - 1.17.0~beta-2
+- Rebuild for ICU 67
+
+* Wed Apr 15 2020 Remi Collet <r...@remirepo.net> - 1.17.0~beta-1
+- update to 1.17.0-beta
+- fix cmake for static lilbraries using patch from
+  https://github.com/mongodb/mongo-c-driver/pull/600
+
+* Mon Mar 09 2020 Honza Horak <hho...@redhat.com> - 1.16.2-2
+- Add missing devel libraries to the mongo-c-driver devel sub-package,
+  so depended packages find them
+
+* Tue Feb 25 2020 Remi Collet <r...@remirepo.net> - 1.16.2-1
+- update to 1.16.2 (no change)
+
+* Tue Feb  4 2020 Remi Collet <r...@remirepo.net> - 1.16.1-1
+- update to 1.16.1
+
+* Wed Jan 29 2020 Fedora Release Engineering <rel...@fedoraproject.org> - 
1.16.0-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
+
+* Tue Jan 21 2020 Remi Collet <r...@remirepo.net> - 1.16.0-3
+- enable client side encryption
+- add dependency to libmongocrypt
+
+* Sat Jan 18 2020 Remi Collet <r...@remirepo.net> - 1.16.0-2
+- clean reference to static library in cmake files
+- see https://jira.mongodb.org/browse/CDRIVER-3495
+
+* Fri Jan 17 2020 Remi Collet <r...@remirepo.net> - 1.16.0-1
+- update to 1.16.0
+- disable client side encryption until #1792224 is approved
+
+* Wed Dec 18 2019 Remi Collet <r...@remirepo.net> - 1.15.3-1
+- update to 1.15.3
+
+* Thu Nov  7 2019 Remi Collet <r...@remirepo.net> - 1.15.2-1
+- update to 1.15.2
+- add zstd compression support on EL-8
+
+* Fri Nov 01 2019 Pete Walter <pwal...@fedoraproject.org> - 1.15.1-2
+- Rebuild for ICU 65
+
+* Mon Sep  2 2019 Remi Collet <r...@remirepo.net> - 1.15.1-1
+- update to 1.15.1
+
+* Wed Aug 21 2019 Remi Collet <r...@remirepo.net> - 1.15.0-1
+- update to 1.15.0
+- add zstd compression support on Fedora
+- use python3 during the build
+
+* Thu Jul 25 2019 Fedora Release Engineering <rel...@fedoraproject.org> - 
1.14.0-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
+
+* Mon Feb 25 2019 Remi Collet <r...@remirepo.net> - 1.14.0-1
+- update to 1.14.0
+
+* Thu Jan 31 2019 Remi Collet <r...@remirepo.net> - 1.13.1-1
+- update to 1.13.1
+- disable test suite, as MongoDB server is required
+
+* Wed Jan 23 2019 Pete Walter <pwal...@fedoraproject.org> - 1.13.0-4
+- Rebuild for ICU 63
+
+* Wed Jan 23 2019 Björn Esser <besse...@fedoraproject.org> - 1.13.0-3
+- Append curdir to CMake invokation. (#1668512)
+
+* Wed Sep 19 2018 Remi Collet <r...@remirepo.net> - 1.13.0-2
+- enable test suite on all 64-bit arches
+  but skip tests relying on the mock server
+
+* Tue Sep 18 2018 Remi Collet <r...@remirepo.net> - 1.13.0-1
+- update to 1.13.0
+- open https://jira.mongodb.org/browse/CDRIVER-2827 make install fails
+- open https://jira.mongodb.org/browse/CDRIVER-2828 test failures
+- disable test suite
+
+* Thu Jul 19 2018 Remi Collet <r...@remirepo.net> - 1.12.0-1
+- update to 1.12.0
+
+* Fri Jul 13 2018 Fedora Release Engineering <rel...@fedoraproject.org> - 
1.11.0-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
+
+* Tue Jul 10 2018 Pete Walter <pwal...@fedoraproject.org> - 1.11.0-2
+- Rebuild for ICU 62
+
+* Sat Jun 23 2018 Remi Collet <r...@remirepo.net> - 1.11.0-1
+- update to 1.11.0
+- add dependency on libicu
+
+* Wed Jun 20 2018 Remi Collet <r...@remirepo.net> - 1.10.3-1
+- update to 1.10.3
+
+* Fri Jun  8 2018 Remi Collet <r...@remirepo.net> - 1.10.2-1
+- update to 1.10.2
+- soname switch back to 0
+
+* Thu May 31 2018 Remi Collet <r...@remirepo.net> - 1.10.1-1
+- update to 1.10.1
+
+* Mon May 28 2018 Remi Collet <r...@remirepo.net> - 1.10.0-2
+- add patch from https://github.com/mongodb/mongo-c-driver/pull/498
+  for https://jira.mongodb.org/browse/CDRIVER-2667
+  "mongoc-stat is not supported on your platform"
+- open https://jira.mongodb.org/browse/CDRIVER-2668
+  "mongoc-stat build but not installed"
+
+* Mon May 28 2018 Remi Collet <r...@remirepo.net> - 1.10.0-1
+- update to 1.10.0
+- also build libbson and create new sub-packages
+- switch to cmake
+- soname bump to 1
+
+* Wed May  2 2018 Remi Collet <r...@remirepo.net> - 1.9.5-1
+- update to 1.9.5
+
+* Tue Apr 10 2018 Remi Collet <r...@remirepo.net> - 1.9.4-1
+- update to 1.9.4
+- ensure all libraries referenced in pkgconfig file are required by devel
+  reported as https://jira.mongodb.org/browse/CDRIVER-2603, #1560611
+
+* Wed Mar 14 2018 Charalampos Stratakis <cstra...@redhat.com> - 1.9.3-2
+- Fix docs build with Sphinx >= 1.7
+
+* Thu Mar  1 2018 Remi Collet <r...@remirepo.net> - 1.9.3-1
+- update to 1.9.3
+
+* Thu Feb 22 2018 Remi Collet <r...@remirepo.net> - 1.9.2-5
+- add workaround for https://jira.mongodb.org/browse/CDRIVER-2516
+- enable test suite
+
+* Wed Feb 14 2018 Remi Collet <r...@remirepo.net> - 1.9.2-4
+- drop ldconfig scriptlets
+- disable again test suite
+
+* Thu Feb 08 2018 Fedora Release Engineering <rel...@fedoraproject.org> - 
1.9.2-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
+* Fri Jan 12 2018 Remi Collet <r...@remirepo.net> - 1.9.2-2
+- enable test suite on 64-bit
+
+* Fri Jan 12 2018 Remi Collet <r...@remirepo.net> - 1.9.2-1
+- update to 1.9.2 (no change)
+
+* Wed Jan 10 2018 Remi Collet <r...@remirepo.net> - 1.9.1-1
+- update to 1.9.1
+
+* Fri Dec 22 2017 Remi Collet <r...@remirepo.net> - 1.9.0-1
+- update to 1.9.0
+- raise dependency on libbson 1.9
+
+* Fri Nov 17 2017 Remi Collet <r...@fedoraproject.org> - 1.8.2-1
+- update to 1.8.2
+
+* Thu Oct 12 2017 Remi Collet <r...@fedoraproject.org> - 1.8.1-1
+- update to 1.8.1
+
+* Fri Sep 15 2017 Remi Collet <r...@fedoraproject.org> - 1.8.0-1
+- update to 1.8.0
+
+* Thu Aug 10 2017 Remi Collet <r...@fedoraproject.org> - 1.7.0-1
+- update to 1.7.0
+- disable test suite in rawhide (mongodb-server is broken)
+
+* Tue Aug  8 2017 Remi Collet <r...@fedoraproject.org> - 1.7.0-0.1.rc2
+- update to 1.7.0-rc2
+- add --with-snappy and --with-zlib build options
+
+* Thu Aug 03 2017 Fedora Release Engineering <rel...@fedoraproject.org> - 
1.6.3-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
+
+* Wed Jul 26 2017 Fedora Release Engineering <rel...@fedoraproject.org> - 
1.6.3-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
+* Wed May 24 2017 Remi Collet <r...@fedoraproject.org> - 1.6.3-1
+- update to 1.6.2
+
+* Tue Mar 28 2017 Remi Collet <r...@fedoraproject.org> - 1.6.2-1
+- update to 1.6.2
+
+* Wed Mar  8 2017 Remi Collet <r...@fedoraproject.org> - 1.6.1-2
+- rebuild with new upstream tarball
+- add examples in devel documentation
+- use patch instead of sed hacks for rpm specific changes
+
+* Tue Mar  7 2017 Remi Collet <r...@fedoraproject.org> - 1.6.1-1
+- update to 1.6.1
+- open https://jira.mongodb.org/browse/CDRIVER-2078
+  can't build man pages
+
+* Thu Feb  9 2017 Remi Collet <r...@fedoraproject.org> - 1.6.0-1
+- update to 1.6.0
+- add fix for https://jira.mongodb.org/browse/CDRIVER-2042
+  from https://github.com/mongodb/mongo-c-driver/pull/421
+
+* Thu Jan 12 2017 Remi Collet <r...@fedoraproject.org> - 1.5.3-1
+- update to 1.5.3
+
+* Wed Jan 11 2017 Remi Collet <r...@fedoraproject.org> - 1.5.2-1
+- update to 1.5.2
+- run server on both IPv4 and IPv6
+- open https://jira.mongodb.org/browse/CDRIVER-1988 - Failed test
+- revert IPv6 commit
+
+* Tue Dec 20 2016 Remi Collet <r...@fedoraproject.org> - 1.5.1-1
+- update to 1.5.1
+
+* Mon Nov 28 2016 Remi Collet <r...@fedoraproject.org> - 1.5.0-1
+- update to 1.5.0
+
+* Fri Nov 18 2016 Remi Collet <r...@fedoraproject.org> - 1.5.0-0.5.rc6
+- update to 1.5.0-rc6
+
+* Fri Nov  4 2016 Remi Collet <r...@fedoraproject.org> - 1.5.0-0.4.rc4
+- update to 1.5.0-rc4
+
+* Thu Oct 20 2016 Remi Collet <r...@fedoraproject.org> - 1.5.0-0.3.rc3
+- update to 1.5.0-rc3
+- drop patches merged upstream
+
+* Fri Oct 14 2016 Remi Collet <r...@fedoraproject.org> - 1.5.0-0.2.rc2
+- open https://jira.mongodb.org/browse/CDRIVER-1703 missing files
+- open https://jira.mongodb.org/browse/CDRIVER-1702 broken test
+- enable test suite
+
+* Fri Oct 14 2016 Remi Collet <r...@fedoraproject.org> - 1.5.0-0.1.rc2
+- update to 1.5.0-rc2
+- drop crypto patch merged upstream
+- drop the private library
+- disable test suite
+
+* Mon Aug 29 2016 Petr Pisar <ppi...@redhat.com> - 1.3.5-6
+- Rebuild against libbson-1.4.0 (bug #1361166)
+
+* Tue Jul 26 2016 Remi Collet <r...@fedoraproject.org> - 1.3.5-5
+- add BR on perl, FTBFS from Koschei
+
+* Mon Jun 13 2016 Remi Collet <r...@fedoraproject.org> - 1.3.5-4
+- add workaround to abicheck failure
+  see https://bugzilla.redhat.com/1345868
+
+* Mon May 16 2016 Remi Collet <r...@fedoraproject.org> - 1.3.5-2
+- add patch to enforce system crypto policies
+
+* Thu Mar 31 2016 Remi Collet <r...@fedoraproject.org> - 1.3.5-1
+- update to 1.3.5
+- use --disable-automatic-init-and-cleanup build option
+- ignore check for libbson version = libmongoc version
+
+* Sat Mar 19 2016 Remi Collet <r...@fedoraproject.org> - 1.3.4-2
+- build with MONGOC_NO_AUTOMATIC_GLOBALS
+
+* Tue Mar 15 2016 Remi Collet <r...@fedoraproject.org> - 1.3.4-1
+- update to 1.3.4
+- drop patch merged upstream
+
+* Mon Feb 29 2016 Remi Collet <r...@fedoraproject.org> - 1.3.3-2
+- cleanup for review
+- move libraries in "libs" sub-package
+- add patch to skip online tests
+  open https://github.com/mongodb/mongo-c-driver/pull/314
+- temporarily disable test suite on arm  (#1303864)
+- temporarily disable test suite on i686/F24+ (#1313018)
+
+* Sun Feb  7 2016 Remi Collet <r...@fedoraproject.org> - 1.3.3-1
+- Update to 1.3.3
+
+* Tue Feb  2 2016 Remi Collet <r...@fedoraproject.org> - 1.3.2-1
+- Update to 1.3.2
+
+* Thu Jan 21 2016 Remi Collet <r...@fedoraproject.org> - 1.3.1-1
+- Update to 1.3.1
+
+* Wed Dec 16 2015 Remi Collet <r...@fedoraproject.org> - 1.3.0-1
+- Update to 1.3.0
+- move tools in devel package
+
+* Tue Dec  8 2015 Remi Collet <r...@fedoraproject.org> - 1.2.3-1
+- Update to 1.2.3
+
+* Tue Dec  8 2015 Remi Collet <r...@fedoraproject.org> - 1.3.0-1
+- Update to 1.3.0
+- open https://jira.mongodb.org/browse/CDRIVER-1040 - ABI breaks
+
+* Wed Oct 14 2015 Remi Collet <r...@fedoraproject.org> - 1.2.0-1
+- Update to 1.2.0
+
+* Sun Oct  4 2015 Remi Collet <r...@fedoraproject.org> - 1.2.0-0.6.rc0
+- Update to 1.2.0-rc0
+
+* Fri Sep 11 2015 Remi Collet <r...@fedoraproject.org> - 
1.2.0-0.5.20150903git3eaf73e
+- add patch to export library verson in the API
+  open https://github.com/mongodb/mongo-c-driver/pull/265
+
+* Fri Sep  4 2015 Remi Collet <r...@fedoraproject.org> - 
1.2.0-0.4.20150903git3eaf73e
+- update to version 1.2.0beta1 from git snapshot
+- https://jira.mongodb.org/browse/CDRIVER-828 missing tests/json
+
+* Mon Aug 31 2015 Remi Collet <r...@fedoraproject.org> - 1.2.0-0.3.beta
+- more upstream patch (for EL-6)
+
+* Mon Aug 31 2015 Remi Collet <r...@fedoraproject.org> - 1.2.0-0.2.beta
+- Upstream version 1.2.0beta
+
+* Wed May 20 2015 Remi Collet <r...@fedoraproject.org> - 1.1.6-1
+- Upstream version 1.1.6
+
+* Mon May 18 2015 Remi Collet <r...@fedoraproject.org> - 1.1.5-1
+- Upstream version 1.1.5
+
+* Sat Apr 25 2015 Remi Collet <r...@fedoraproject.org> - 1.1.4-3
+- test build for upstream patch
+
+* Thu Apr 23 2015 Remi Collet <r...@fedoraproject.org> - 1.1.4-2
+- cleanup build dependencies and options
+
+* Wed Apr 22 2015 Remi Collet <r...@fedoraproject.org> - 1.1.4-1
+- Initial package
+- open https://jira.mongodb.org/browse/CDRIVER-624 - gcc 5
diff -Nru mongo-c-driver-1.17.3/.evergreen/spec.patch 
mongo-c-driver-1.17.6/.evergreen/spec.patch
--- mongo-c-driver-1.17.3/.evergreen/spec.patch 2020-12-01 17:25:25.000000000 
-0500
+++ mongo-c-driver-1.17.6/.evergreen/spec.patch 2021-06-04 13:05:48.000000000 
-0400
@@ -1,6 +1,23 @@
---- mongo-c-driver.spec.orig   2019-08-27 21:43:20.721612865 +0000
-+++ mongo-c-driver.spec        2019-08-27 22:28:57.276867708 +0000
-@@ -38,7 +38,6 @@ BuildRequires: pkgconfig(libzstd)
+--- mongo-c-driver.spec.orig   2020-11-30 10:07:51.831526659 -0500
++++ mongo-c-driver.spec        2020-11-30 10:09:59.029834450 -0500
+@@ -10,14 +10,14 @@
+ %global gh_project   mongo-c-driver
+ %global libname      libmongoc
+ %global libver       1.0
+-%global up_version   1.17.5
++%global up_version   1.17.6
+ #global up_prever    rc0
+ # disabled as require a MongoDB server
+ %bcond_with          tests
+ 
+ Name:      mongo-c-driver
+ Summary:   Client library written in C for MongoDB
+-Version:   %{up_version}%{?up_prever:~%{up_prever}}
++Version:   %{up_version}%{up_prever}
+ Release:   1%{?dist}
+ # See THIRD_PARTY_NOTICES
+ License:   ASL 2.0 and ISC and MIT and zlib
+@@ -39,7 +39,6 @@
  BuildRequires: mongodb-server
  BuildRequires: openssl
  %endif
@@ -8,7 +25,7 @@
  BuildRequires: perl-interpreter
  # From man pages
  BuildRequires: python3
-@@ -68,7 +67,6 @@ Requires:   %{name}%{?_isa} = %{version}-%{release}
+@@ -69,7 +68,6 @@
  Requires:   pkgconfig
  Requires:   cmake-filesystem
  Requires:   pkgconfig(libzstd)
@@ -16,11 +33,11 @@
  
  %description devel
  This package contains the header files and development libraries
-@@ -126,7 +124,6 @@ Documentation: http://mongoc.org/libbson/%{version}/
+@@ -128,7 +126,6 @@
  %endif
      -DENABLE_EXAMPLES:BOOL=OFF \
      -DENABLE_UNINSTALL:BOOL=OFF \
 -    -DENABLE_CLIENT_SIDE_ENCRYPTION:BOOL=ON \
-     .
+     -S .
  
- make %{?_smp_mflags}
+ %if 0%{?cmake_build:1}
diff -Nru mongo-c-driver-1.17.3/NEWS mongo-c-driver-1.17.6/NEWS
--- mongo-c-driver-1.17.3/NEWS  2020-12-01 17:25:25.000000000 -0500
+++ mongo-c-driver-1.17.6/NEWS  2021-06-04 13:05:48.000000000 -0400
@@ -1,3 +1,55 @@
+mongo-c-driver 1.17.6
+=====================
+
+It is my pleasure to announce the MongoDB C Driver 1.17.6.
+
+Bug fixes:
+
+  * Fix possible crash when speculative authentication fails with network 
error.
+
+Thanks to everyone who contributed to the development of this release.
+
+  * Andreas Braun
+
+--Kevin Albertson
+
+
+mongo-c-driver 1.17.5
+=====================
+
+It is my pleasure to announce the MongoDB C Driver 1.17.5.
+
+Improvements:
+
+  * Fix documentation regarding when to call mongoc_log_set_handler
+
+Thanks to everyone who contributed to the development of this release.
+
+  * Clyde Bazile
+  * Fermín Galán Márquez
+
+--Kevin Albertson
+
+
+mongo-c-driver 1.17.4
+=====================
+
+It is my pleasure to announce the MongoDB C Driver 1.17.4.
+
+Bug fixes:
+
+  * Fix crash on macOS on client pool shutdown.
+  * Fix spacing in extended JSON output for numberLong.
+  * Clear error in mongoc_collection_find_and_modify_with_opts on a successful 
retry.
+
+Thanks to everyone who contributed to the development of this release.
+
+  * Kevin Albertson
+  * Samantha Ritter
+
+-- Kevin Albertson
+
+
 mongo-c-driver 1.17.3
 =====================
 
diff -Nru mongo-c-driver-1.17.3/build/evergreen_config_lib/tasks.py 
mongo-c-driver-1.17.6/build/evergreen_config_lib/tasks.py
--- mongo-c-driver-1.17.3/build/evergreen_config_lib/tasks.py   2020-12-01 
17:25:25.000000000 -0500
+++ mongo-c-driver-1.17.6/build/evergreen_config_lib/tasks.py   2021-06-04 
13:05:48.000000000 -0400
@@ -376,12 +376,18 @@
                                'sh .evergreen/debian_package_build.sh'),
                   s3_put(local_file='deb.tar.gz',
                          
remote_file='${branch_name}/mongo-c-driver-debian-packages-${CURRENT_VERSION}.tar.gz',
+                         content_type='${content_type|application/x-gzip}'),
+                  s3_put(local_file='deb.tar.gz',
+                         
remote_file='${project}/${branch_name}/${revision}/${version_id}/${build_id}/${execution}/mongo-c-driver-debian-packages.tar.gz',
                          content_type='${content_type|application/x-gzip}')]),
     NamedTask('rpm-package-build',
               commands=[
                   shell_mongoc('sh .evergreen/build_snapshot_rpm.sh'),
                   s3_put(local_file='rpm.tar.gz',
                          
remote_file='${branch_name}/mongo-c-driver-rpm-packages-${CURRENT_VERSION}.tar.gz',
+                         content_type='${content_type|application/x-gzip}'),
+                  s3_put(local_file='rpm.tar.gz',
+                         
remote_file='${project}/${branch_name}/${revision}/${version_id}/${build_id}/${execution}/mongo-c-driver-rpm-packages.tar.gz',
                          content_type='${content_type|application/x-gzip}')]),
     NamedTask('install-uninstall-check-mingw',
               depends_on=OD([('name', 'make-release-archive'),
diff -Nru mongo-c-driver-1.17.3/debian/changelog 
mongo-c-driver-1.17.6/debian/changelog
--- mongo-c-driver-1.17.3/debian/changelog      2020-12-02 08:07:59.000000000 
-0500
+++ mongo-c-driver-1.17.6/debian/changelog      2021-06-04 12:51:50.000000000 
-0400
@@ -1,3 +1,21 @@
+mongo-c-driver (1.17.6-1) unstable; urgency=medium
+
+  * New upstream release
+
+ -- Roberto C. Sanchez <robe...@connexer.com>  Fri, 04 Jun 2021 12:51:50 -0400
+
+mongo-c-driver (1.17.5-1) unstable; urgency=medium
+
+  * New upstream release
+
+ -- Roberto C. Sanchez <robe...@connexer.com>  Mon, 19 Apr 2021 12:37:15 -0400
+
+mongo-c-driver (1.17.4-1) unstable; urgency=medium
+
+  * New upstream release
+
+ -- Roberto C. Sanchez <robe...@connexer.com>  Wed, 03 Mar 2021 11:18:55 -0500
+
 mongo-c-driver (1.17.3-1) unstable; urgency=medium
 
   * New upstream release
diff -Nru mongo-c-driver-1.17.3/debian/gbp.conf 
mongo-c-driver-1.17.6/debian/gbp.conf
--- mongo-c-driver-1.17.3/debian/gbp.conf       2020-12-02 08:07:59.000000000 
-0500
+++ mongo-c-driver-1.17.6/debian/gbp.conf       2021-06-04 12:51:50.000000000 
-0400
@@ -11,14 +11,9 @@
     # Determine list of embedded sources to exclude from Debian source package
     zlib_filter_files=\"$(find src/zlib-* -mindepth 1 -maxdepth 1 \! -name 
zconf.h.in -printf "mongo-c-driver-\${upstream_version}/%p ")\" &&
     zlib_rm_files=\"$(find src/zlib-* -mindepth 1 -maxdepth 1 \! -name 
zconf.h.in -printf '%p ')\" &&
-    # Determine if we are on a release branch and set the reference to use 
later
-    # to create the upstream tarball (when on a release branch use the most
-    # recent release tag, and when on any other branch use HEAD)
-    release_branch=$(cd $GBP_GIT_DIR/..; git symbolic-ref --short HEAD | sed 
-n '/^r[0-9]\./p') &&
-    if [ -n \"\${release_branch}\" ]; then archive_ref=$(cd $GBP_GIT_DIR/..; 
git describe --tags --abbrev=0 --match '1.*'); else archive_ref=HEAD; fi &&
     # Create upstream tarball from reference, exclude items that do not belong
     pushd $GBP_GIT_DIR/.. &&
-    git archive --format=tar --prefix=mongo-c-driver-\${upstream_version}/ 
\${archive_ref} | tar -f - --delete mongo-c-driver-\${upstream_version}/debian 
\$zlib_filter_files | gzip > 
$GBP_BUILD_DIR/../mongo-c-driver_\${upstream_version}.orig.tar.gz &&
+    git archive --format=tar --prefix=mongo-c-driver-\${upstream_version}/ 
HEAD | tar -f - --delete mongo-c-driver-\${upstream_version}/debian 
\$zlib_filter_files | gzip > 
$GBP_BUILD_DIR/../mongo-c-driver_\${upstream_version}.orig.tar.gz &&
     popd &&
     rm -rf \$zlib_rm_files"
 
diff -Nru mongo-c-driver-1.17.3/src/libbson/CMakeLists.txt 
mongo-c-driver-1.17.6/src/libbson/CMakeLists.txt
--- mongo-c-driver-1.17.3/src/libbson/CMakeLists.txt    2020-12-01 
17:25:25.000000000 -0500
+++ mongo-c-driver-1.17.6/src/libbson/CMakeLists.txt    2021-06-04 
13:05:48.000000000 -0400
@@ -252,10 +252,17 @@
    target_link_libraries (bson_shared PRIVATE ${RT_LIBRARY})
 endif ()
 
-find_library (M_LIBRARY m)
-if (M_LIBRARY)
-   target_link_libraries (bson_shared PRIVATE ${M_LIBRARY})
-   set (BSON_LIBRARIES ${BSON_LIBRARIES} ${M_LIBRARY})
+# On macOS Big Sur, libm resolves to the SDK's tbd file, like:
+# /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib/libm.tbd
+# Not all consumers can easily link to a tbd file (notably golang will reject 
a tbd suffix by default)
+# macOS includes libm as part of libSystem (along with libc).
+# It does not need to be explicitly linked.
+if (!APPLE)
+   find_library (M_LIBRARY m)
+   if (M_LIBRARY)
+      target_link_libraries (bson_shared PRIVATE ${M_LIBRARY})
+      set (BSON_LIBRARIES ${BSON_LIBRARIES} ${M_LIBRARY})
+   endif ()
 endif ()
 
 set (THREADS_PREFER_PTHREAD_FLAG 1)
diff -Nru mongo-c-driver-1.17.3/src/libbson/NEWS 
mongo-c-driver-1.17.6/src/libbson/NEWS
--- mongo-c-driver-1.17.3/src/libbson/NEWS      2020-12-01 17:25:25.000000000 
-0500
+++ mongo-c-driver-1.17.6/src/libbson/NEWS      2021-06-04 13:05:48.000000000 
-0400
@@ -1,3 +1,39 @@
+libbson 1.17.6
+==============
+
+It is my pleasure to announce libbson 1.17.6.
+
+No changes since 1.17.5; release to keep pace with libmongoc's version.
+
+-- Kevin Albertson
+
+
+libbson 1.17.5
+==============
+
+It is my pleasure to announce libbson 1.17.5.
+
+Bug fixes:
+
+  * Remove unnecessary dependency of libm for static libbson on macOS
+
+Thanks to everyone who contributed to the development of this release.
+
+  * Kevin Albertson
+
+--Kevin Albertson
+
+
+libbson 1.17.4
+==============
+
+It is my pleasure to announce libbson 1.17.4.
+
+No changes since 1.17.3; release to keep pace with libmongoc's version.
+
+-- Kevin Albertson
+
+
 libbson 1.17.3
 ==============
 
diff -Nru mongo-c-driver-1.17.3/src/libbson/src/bson/bson.c 
mongo-c-driver-1.17.6/src/libbson/src/bson/bson.c
--- mongo-c-driver-1.17.3/src/libbson/src/bson/bson.c   2020-12-01 
17:25:25.000000000 -0500
+++ mongo-c-driver-1.17.6/src/libbson/src/bson/bson.c   2021-06-04 
13:05:48.000000000 -0400
@@ -2583,7 +2583,7 @@
 
    if (state->mode == BSON_JSON_MODE_CANONICAL) {
       bson_string_append_printf (
-         state->str, "{ \"$numberLong\" : \"%" PRId64 "\"}", v_int64);
+         state->str, "{ \"$numberLong\" : \"%" PRId64 "\" }", v_int64);
    } else {
       bson_string_append_printf (state->str, "%" PRId64, v_int64);
    }
diff -Nru mongo-c-driver-1.17.3/src/libbson/tests/test-bson.c 
mongo-c-driver-1.17.6/src/libbson/tests/test-bson.c
--- mongo-c-driver-1.17.3/src/libbson/tests/test-bson.c 2020-12-01 
17:25:25.000000000 -0500
+++ mongo-c-driver-1.17.6/src/libbson/tests/test-bson.c 2021-06-04 
13:05:48.000000000 -0400
@@ -2446,7 +2446,8 @@
 }
 
 static void
-test_bson_append_null_from_utf8_or_symbol (void) {
+test_bson_append_null_from_utf8_or_symbol (void)
+{
    bson_t bson;
    bson_iter_t iter;
 
@@ -2461,6 +2462,46 @@
    bson_destroy (&bson);
 }
 
+static void
+test_bson_as_json_string (void)
+{
+   bson_t *all_types;
+   int i;
+   char *actual;
+   const char *expected =
+      "{ \"double\" : { \"$numberDouble\" : \"1.0\" }, \"string\" : "
+      "\"string_example\", \"document\" : { \"x\" : \"y\" }, \"document\" : [ "
+      "\"x\" ], \"binary\" : { \"$binary\" : { \"base64\": \"ZGF0YQ==\", "
+      "\"subType\" : \"00\" } }, \"undefined\" : { \"$undefined\" : true }, "
+      "\"oid\" : { \"$oid\" : \"000000000000000000000000\" }, \"bool\" : true, 
"
+      "\"datetime\" : { \"$date\" : { \"$numberLong\" : \"123\" } }, \"null\" "
+      ": null, \"regex\" : { \"$regularExpression\" : { \"pattern\" : \"a+\", "
+      "\"options\" : \"\" } }, \"dbpointer\" : { \"$dbPointer\" : { \"$ref\" : 
"
+      "\"collection\", \"$id\" : { \"$oid\" : \"000000000000000000000000\" } } 
"
+      "}, \"code\" : { \"$code\" : \"var x = 1;\" }, \"symbol\" : { "
+      "\"$symbol\" : \"symbol_example\" }, \"code\" : { \"$code\" : \"var x = "
+      "1;\" }, \"code_w_scope\" : { \"$code\" : \"var x = 1;\", \"$scope\" : { 
"
+      "} }, \"int32\" : { \"$numberInt\" : \"1\" }, \"timestamp\" : { "
+      "\"$timestamp\" : { \"t\" : 2, \"i\" : 3 } }, \"int64\" : { "
+      "\"$numberLong\" : \"4\" }, \"decimal128\" : { \"$numberDecimal\" : "
+      "\"1.23456789\" }, \"minkey\" : { \"$minKey\" : 1 }, \"maxkey\" : { "
+      "\"$maxKey\" : 1 }, \"\" : { \"$numberInt\" : \"-1\" } }";
+
+   all_types = bson_with_all_types ();
+   actual = bson_as_canonical_extended_json (all_types, NULL);
+
+   for (i = 0; i < strlen (expected); i++) {
+      if (expected[i] != actual[i]) {
+         test_error ("character mismatch at %d. Expected: %s, got %s",
+                     i,
+                     expected,
+                     actual);
+      }
+   }
+
+   bson_free (actual);
+}
+
 void
 test_bson_install (TestSuite *suite)
 {
@@ -2555,5 +2596,8 @@
                   test_bson_iter_init_from_data_at_offset);
    TestSuite_Add (
       suite, "/bson/value/null_handling", test_bson_binary_null_handling);
-   TestSuite_Add (suite, "/bson/append_null_from_utf8_or_symbol", 
test_bson_append_null_from_utf8_or_symbol);
+   TestSuite_Add (suite,
+                  "/bson/append_null_from_utf8_or_symbol",
+                  test_bson_append_null_from_utf8_or_symbol);
+   TestSuite_Add (suite, "/bson/as_json_string", test_bson_as_json_string);
 }
diff -Nru mongo-c-driver-1.17.3/src/libmongoc/doc/includes/init_cleanup.txt 
mongo-c-driver-1.17.6/src/libmongoc/doc/includes/init_cleanup.txt
--- mongo-c-driver-1.17.3/src/libmongoc/doc/includes/init_cleanup.txt   
2020-12-01 17:25:25.000000000 -0500
+++ mongo-c-driver-1.17.6/src/libmongoc/doc/includes/init_cleanup.txt   
2021-06-04 13:05:48.000000000 -0400
@@ -1,3 +1,5 @@
 Initialize the MongoDB C Driver by calling :symbol:`mongoc_init` exactly once 
at the beginning of your program. It is responsible for initializing global 
state such as process counters, SSL, and threading primitives.
 
+Exception to this is ``mongoc_log_set_handler()``, which should be called 
before ``mongoc_init()`` or some log traces would not use your log handling 
function. See :ref:`Custom Log Handlers <custom_log_handlers>` for a detailed 
example.
+
 Call :symbol:`mongoc_cleanup` exactly once at the end of your program to 
release all memory and other resources allocated by the driver. You must not 
call any other MongoDB C Driver functions after :symbol:`mongoc_cleanup`. Note 
that :symbol:`mongoc_init` does **not** reinitialize the driver after 
:symbol:`mongoc_cleanup`.
Binary files 
/tmp/user/2000/KbaH0cAJme/mongo-c-driver-1.17.3/src/libmongoc/doc/libbson-objects.inv
 and 
/tmp/user/2000/O_Ix0G7DEA/mongo-c-driver-1.17.6/src/libmongoc/doc/libbson-objects.inv
 differ
diff -Nru mongo-c-driver-1.17.3/src/libmongoc/doc/logging.rst 
mongo-c-driver-1.17.6/src/libmongoc/doc/logging.rst
--- mongo-c-driver-1.17.3/src/libmongoc/doc/logging.rst 2020-12-01 
17:25:25.000000000 -0500
+++ mongo-c-driver-1.17.6/src/libmongoc/doc/logging.rst 2021-06-04 
13:05:48.000000000 -0400
@@ -65,6 +65,8 @@
 
   MONGOC_WARNING ("An error occurred: %s", strerror (errno));
 
+.. _custom_log_handlers:
+
 Custom Log Handlers
 -------------------
 
@@ -91,8 +93,8 @@
   int
   main (int argc, char *argv[])
   {
-     mongoc_init ();
      mongoc_log_set_handler (my_logger, NULL);
+     mongoc_init ();
 
      /* ... your code ...  */
 
@@ -100,6 +102,9 @@
      return 0;
   }
 
+Note that in the example above ``mongoc_log_set_handler()`` is called before 
``mongoc_init()``.
+Otherwise, some log traces could not be processed by the log handler.
+
 To restore the default handler:
 
 .. code-block:: c
diff -Nru mongo-c-driver-1.17.3/src/libmongoc/src/mongoc/mongoc-cluster.c 
mongo-c-driver-1.17.6/src/libmongoc/src/mongoc/mongoc-cluster.c
--- mongo-c-driver-1.17.3/src/libmongoc/src/mongoc/mongoc-cluster.c     
2020-12-01 17:25:25.000000000 -0500
+++ mongo-c-driver-1.17.6/src/libmongoc/src/mongoc/mongoc-cluster.c     
2021-06-04 13:05:48.000000000 -0400
@@ -2426,6 +2426,12 @@
       _mongoc_scram_destroy (&scanner_node->scram);
 #endif
 
+      if (!scanner_node->stream) {
+         memcpy (error, &sd->error, sizeof *error);
+         mongoc_server_description_destroy (sd);
+         return NULL;
+      }
+
       if (!has_speculative_auth &&
           !_mongoc_cluster_auth_node (cluster,
                                       scanner_node->stream,
diff -Nru mongo-c-driver-1.17.3/src/libmongoc/src/mongoc/mongoc-collection.c 
mongo-c-driver-1.17.6/src/libmongoc/src/mongoc/mongoc-collection.c
--- mongo-c-driver-1.17.3/src/libmongoc/src/mongoc/mongoc-collection.c  
2020-12-01 17:25:25.000000000 -0500
+++ mongo-c-driver-1.17.6/src/libmongoc/src/mongoc/mongoc-collection.c  
2021-06-04 13:05:48.000000000 -0400
@@ -3410,6 +3410,11 @@
 done:
    mongoc_server_stream_cleanup (server_stream);
    mongoc_server_stream_cleanup (retry_server_stream);
+
+   if (ret && error) {
+      /* if a retry succeeded, clear the initial error */
+      memset (error, 0, sizeof (bson_error_t));
+   }
    mongoc_cmd_parts_cleanup (&parts);
    bson_destroy (&command);
    if (&reply_local == reply_ptr) {
diff -Nru mongo-c-driver-1.17.3/src/libmongoc/src/mongoc/mongoc-socket.c 
mongo-c-driver-1.17.6/src/libmongoc/src/mongoc/mongoc-socket.c
--- mongo-c-driver-1.17.3/src/libmongoc/src/mongoc/mongoc-socket.c      
2020-12-01 17:25:25.000000000 -0500
+++ mongo-c-driver-1.17.6/src/libmongoc/src/mongoc/mongoc-socket.c      
2021-06-04 13:05:48.000000000 -0400
@@ -993,6 +993,9 @@
 #else
    int sd;
 #endif
+#ifdef SO_NOSIGPIPE
+   int on = 1;
+#endif
 
    ENTRY;
 
@@ -1017,6 +1020,12 @@
       _mongoc_socket_setkeepalive (sd);
    }
 
+   /* Set SO_NOSIGPIPE, to ignore SIGPIPE on writes for platforms where
+      setting MSG_NOSIGNAL on writes is not supported (primarily OSX). */
+#ifdef SO_NOSIGPIPE
+   setsockopt(sd, SOL_SOCKET, SO_NOSIGPIPE, &on, sizeof(on));
+#endif
+
    sock = (mongoc_socket_t *) bson_malloc0 (sizeof *sock);
    sock->sd = sd;
    sock->domain = domain;
diff -Nru mongo-c-driver-1.17.3/src/libmongoc/tests/test-mongoc-change-stream.c 
mongo-c-driver-1.17.6/src/libmongoc/tests/test-mongoc-change-stream.c
--- mongo-c-driver-1.17.3/src/libmongoc/tests/test-mongoc-change-stream.c       
2020-12-01 17:25:25.000000000 -0500
+++ mongo-c-driver-1.17.6/src/libmongoc/tests/test-mongoc-change-stream.c       
2021-06-04 13:05:48.000000000 -0400
@@ -776,12 +776,14 @@
                                     "db",
                                     MONGOC_QUERY_SLAVE_OK,
                                     "{ 'getMore': 123, 'collection': 'coll' 
}");
+   BSON_ASSERT (request);
    mock_server_hangs_up (request);
    request_destroy (request);
 
    /* Retry command */
    request = mock_server_receives_command (
       server, "db", MONGOC_QUERY_SLAVE_OK, watch_cmd);
+   BSON_ASSERT (request);
    mock_server_replies_simple (
       request,
       "{'cursor': {'id': 124,'ns': 'db.coll','firstBatch': []},'ok': 1 }");
diff -Nru mongo-c-driver-1.17.3/src/libmongoc/tests/test-mongoc-client.c 
mongo-c-driver-1.17.6/src/libmongoc/tests/test-mongoc-client.c
--- mongo-c-driver-1.17.3/src/libmongoc/tests/test-mongoc-client.c      
2020-12-01 17:25:25.000000000 -0500
+++ mongo-c-driver-1.17.6/src/libmongoc/tests/test-mongoc-client.c      
2021-06-04 13:05:48.000000000 -0400
@@ -485,6 +485,134 @@
 
 
 static void
+test_mongoc_client_speculative_auth_failure (bool pooled)
+{
+   mongoc_client_t *admin_client;
+   char *username;
+   bson_t roles;
+   mongoc_database_t *database;
+   char *uri_str_no_auth;
+   char *uri_str_auth;
+   mongoc_collection_t *collection;
+   mongoc_client_t *auth_client;
+   mongoc_client_pool_t *pool;
+   mongoc_uri_t *uri;
+   mongoc_cursor_t *cursor;
+   const bson_t *doc;
+   bson_error_t error;
+   bool r;
+   bson_t q;
+
+   /*
+    * Log in as admin.
+    */
+   admin_client = test_framework_client_new ();
+
+   /*
+    * Add a user to the test database.
+    */
+   username = gen_test_user ();
+   database = mongoc_client_get_database (admin_client, "test");
+   (void) mongoc_database_remove_user (database, username, &error);
+   bson_init (&roles);
+   BCON_APPEND (&roles, "0", "{", "role", "read", "db", "test", "}");
+
+   r = mongoc_database_add_user (database,
+                                 username,
+                                 "testpass",
+                                 tmp_bson ("[{'role': 'read', 'db': 'test'}]"),
+                                 NULL,
+                                 &error);
+
+   ASSERT_OR_PRINT (r, error);
+   mongoc_database_destroy (database);
+
+   bson_init (&q);
+   uri_str_no_auth = test_framework_get_uri_str_no_auth ("test");
+   uri_str_auth =
+      test_framework_add_user_password (uri_str_no_auth, username, "testpass");
+
+   if (pooled) {
+      uri = mongoc_uri_new (uri_str_auth);
+      pool = mongoc_client_pool_new (uri);
+      mongoc_uri_destroy (uri);
+
+      test_framework_set_pool_ssl_opts (pool);
+      auth_client = mongoc_client_pool_pop (pool);
+   } else {
+      auth_client = mongoc_client_new (uri_str_auth);
+      test_framework_set_ssl_opts (auth_client);
+   }
+
+   collection = mongoc_client_get_collection (auth_client, "test", "test");
+
+   database = mongoc_client_get_database (admin_client, "admin");
+
+   /* Enable failpoint to break saslContinue */
+   r = mongoc_database_command_simple (
+      database,
+      tmp_bson ("{'configureFailPoint': 'failCommand', "
+                "'mode': {'times': 1}, "
+                "'data': {'failCommands': ['saslContinue'], 'closeConnection': 
"
+                "true, 'errorCode': 10107}}"),
+      NULL,
+      NULL,
+      &error);
+   ASSERT_OR_PRINT (r, error);
+   mongoc_database_destroy (database);
+
+   /* Try authenticating by running a find operation */
+   cursor = mongoc_collection_find_with_opts (collection, &q, NULL, NULL);
+   r = mongoc_cursor_next (cursor, &doc);
+   if (!r) {
+      r = mongoc_cursor_error (cursor, &error);
+      BSON_ASSERT (r);
+      ASSERT_ERROR_CONTAINS (error,
+                             MONGOC_ERROR_CLIENT,
+                             MONGOC_ERROR_CLIENT_AUTHENTICATE,
+                             "Failed to send \"saslContinue\" command");
+   }
+
+   mongoc_cursor_destroy (cursor);
+   mongoc_collection_destroy (collection);
+
+   if (pooled) {
+      mongoc_client_pool_push (pool, auth_client);
+      mongoc_client_pool_destroy (pool);
+   } else {
+      mongoc_client_destroy (auth_client);
+   }
+
+   /*
+    * Remove all test users.
+    */
+   database = mongoc_client_get_database (admin_client, "test");
+   r = mongoc_database_remove_all_users (database, &error);
+   BSON_ASSERT (r);
+
+   bson_destroy (&q);
+   bson_free (uri_str_no_auth);
+   bson_free (uri_str_auth);
+   bson_destroy (&roles);
+   bson_free (username);
+   mongoc_database_destroy (database);
+   mongoc_client_destroy (admin_client);
+}
+
+static void
+test_mongoc_client_single_speculative_auth_failure (void *context)
+{
+   test_mongoc_client_speculative_auth_failure (false);
+}
+
+static void
+test_mongoc_client_pooled_speculative_auth_failure (void *context)
+{
+   test_mongoc_client_speculative_auth_failure (true);
+}
+
+
+static void
 test_mongoc_client_authenticate_cached (bool pooled)
 {
    mongoc_client_pool_t *pool = NULL;
@@ -3858,6 +3986,20 @@
                       NULL,
                       test_framework_skip_if_no_auth);
    TestSuite_AddFull (suite,
+                      "/Client/speculative_auth_failure/single",
+                      test_mongoc_client_single_speculative_auth_failure,
+                      NULL,
+                      NULL,
+                      test_framework_skip_if_no_auth,
+                      test_framework_skip_if_no_failpoint);
+   TestSuite_AddFull (suite,
+                      "/Client/speculative_auth_failure/pooled",
+                      test_mongoc_client_pooled_speculative_auth_failure,
+                      NULL,
+                      NULL,
+                      test_framework_skip_if_no_auth,
+                      test_framework_skip_if_no_failpoint);
+   TestSuite_AddFull (suite,
                       "/Client/authenticate_cached/pool",
                       test_mongoc_client_authenticate_cached_pooled,
                       NULL,
diff -Nru mongo-c-driver-1.17.3/src/libmongoc/tests/test-mongoc-collection.c 
mongo-c-driver-1.17.6/src/libmongoc/tests/test-mongoc-collection.c
--- mongo-c-driver-1.17.3/src/libmongoc/tests/test-mongoc-collection.c  
2020-12-01 17:25:25.000000000 -0500
+++ mongo-c-driver-1.17.6/src/libmongoc/tests/test-mongoc-collection.c  
2021-06-04 13:05:48.000000000 -0400
@@ -6350,6 +6350,59 @@
    mongoc_client_destroy (client);
 }
 
+static void
+test_fam_no_error_on_retry (void *unused)
+{
+   mongoc_client_t *client;
+   mongoc_collection_t *coll;
+   bson_error_t error = {0};
+   bool ret;
+   bson_t reply;
+   mongoc_find_and_modify_opts_t *opts;
+
+   client = test_framework_client_new ();
+   ret = mongoc_client_command_simple (
+      client,
+      "admin",
+      tmp_bson ("{'configureFailPoint': 'failCommand', 'mode': {'times': 1}, "
+                "'data': {'failCommands': ['findAndModify'], 'errorLabels': "
+                "['RetryableWriteError']}}"),
+      NULL,
+      &reply,
+      &error);
+
+   if (!ret) {
+      test_error ("configureFailPoint error: %s reply: %s",
+                  error.message,
+                  bson_as_canonical_extended_json (&reply, NULL));
+   }
+
+   coll = get_test_collection (client, BSON_FUNC);
+   opts = mongoc_find_and_modify_opts_new ();
+   mongoc_find_and_modify_opts_set_update (opts,
+                                           tmp_bson ("{'$set': {'x': 2}}"));
+   bson_destroy (&reply);
+   ret = mongoc_collection_find_and_modify_with_opts (
+      coll, tmp_bson ("{'x': 1}"), opts, &reply, &error);
+   if (!ret) {
+      test_error (
+         "findAndModify error: %s reply: %s", error.message, 
bson_as_canonical_extended_json (&reply, NULL));
+   }
+
+   if (error.code != 0 || error.domain != 0 ||
+       0 != strcmp (error.message, "")) {
+      test_error ("error set, but findAndModify succeeded: code=%" PRIu32
+                  " domain=%" PRIu32 " message=%s",
+                  error.code,
+                  error.domain,
+                  error.message);
+   }
+
+   bson_destroy (&reply);
+   mongoc_collection_destroy (coll);
+   mongoc_client_destroy (client);
+   mongoc_find_and_modify_opts_destroy (opts);
+}
 
 void
 test_collection_install (TestSuite *suite)
@@ -6594,4 +6647,11 @@
                       NULL,
                       NULL,
                       test_framework_skip_if_not_replset);
+   TestSuite_AddFull (suite,
+                      "/Collection/fam/no_error_on_retry",
+                      test_fam_no_error_on_retry,
+                      NULL,
+                      NULL,
+                      test_framework_skip_if_no_failpoint,
+                      test_framework_skip_if_max_wire_version_more_than_9);
 }

--- End Message ---
--- Begin Message ---
Unblocked.

--- End Message ---

Reply via email to