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); }