Skip to content

Commit be1d596

Browse files
Merge pull request #13 from comandeo-mongo/3429-version-1.12
Version 1.12.0 of libmongocrypt
2 parents 0cbaa39 + 6b546ef commit be1d596

File tree

163 files changed

+2257
-6409
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

163 files changed

+2257
-6409
lines changed

ext/libmongocrypt/libmongocrypt/.evergreen/compile_cs.sh

Lines changed: 0 additions & 30 deletions
This file was deleted.

ext/libmongocrypt/libmongocrypt/.evergreen/config.yml

Lines changed: 15 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -162,8 +162,10 @@ functions:
162162
- command: subprocess.exec
163163
params:
164164
binary: bash
165+
working_dir: "${DRIVERS_TOOLS}"
165166
env:
166167
TOPOLOGY: replica_set
168+
MONGODB_VERSION: "8.0"
167169
args:
168170
- ${DRIVERS_TOOLS}/.evergreen/run-orchestration.sh
169171
- command: "subprocess.exec"
@@ -296,17 +298,6 @@ functions:
296298
./curator version
297299
./curator repo submit --config etc/repo_config.yaml --distro ${packager_distro} --edition org --version $pkg_version --arch ${packager_arch} --service https://barque.corp.mongodb.com/ --packages https://mciuploads.s3.amazonaws.com/${project}/${build_variant}/${branch_name}/${libmongocrypt_s3_suffix}/libmongocrypt-distro-packages.tar.gz
298300
299-
"build csharp and test":
300-
- command: "shell.exec"
301-
params:
302-
shell: bash
303-
script: |-
304-
. libmongocrypt/.evergreen/init.sh
305-
if test "$OS_NAME" != "windows"; then export USE_NINJA=ON; fi
306-
env ${compile_env|} DEFAULT_BUILD_ONLY=true \
307-
bash ./libmongocrypt/.evergreen/build_all.sh
308-
env ${compile_env|} bash ./libmongocrypt/.evergreen/compile_cs.sh
309-
310301
"build python release":
311302
- command: shell.exec
312303
params:
@@ -445,6 +436,17 @@ tasks:
445436
# Add detect_odr_violation=0 to ASAN_OPTIONS to ignore odr-violation in IntelDFP symbol: __dpml_bid_globals_table
446437
ASAN_OPTIONS="detect_leaks=1 detect_odr_violation=0"
447438
439+
- name: build-and-test-ubsan
440+
commands:
441+
- func: "fetch source"
442+
- func: "build and test"
443+
vars:
444+
compile_env: >-
445+
${compile_env|}
446+
LIBMONGOCRYPT_EXTRA_CFLAGS="-fsanitize=undefined -fno-omit-frame-pointer"
447+
UBSAN_OPTIONS="halt_on_error=1,print_stacktrace=1"
448+
449+
448450
- name: build-and-test-asan-mac
449451
commands:
450452
- func: "fetch source"
@@ -538,13 +540,6 @@ tasks:
538540
commands:
539541
- func: "download and merge python releases"
540542

541-
- name: build-and-test-csharp
542-
commands:
543-
- func: "fetch source"
544-
- func: "build csharp and test"
545-
vars:
546-
test_env: PROJECT_DIRECTORY=${project_directory}
547-
548543
- name: publish-java
549544
depends_on:
550545
- variant: ubuntu2004-64
@@ -569,6 +564,7 @@ tasks:
569564
- variant: macos
570565
name: build-and-test-and-upload
571566
commands:
567+
- func: "fetch source" # To set `tag_upload_location` expansion.
572568
- command: shell.exec
573569
params:
574570
script: mkdir all
@@ -1090,7 +1086,6 @@ buildvariants:
10901086
- build-and-test-and-upload
10911087
- build-and-test-shared-bson
10921088
- build-and-test-asan-mac
1093-
# - build-and-test-csharp // temporary removed to make strong named release.
10941089
- test-java
10951090
- name: rhel72-zseries-test
10961091
display_name: "RHEL 7.2 on zSeries"
@@ -1131,7 +1126,6 @@ buildvariants:
11311126
tasks:
11321127
- build-and-test-and-upload
11331128
- build-and-test-shared-bson
1134-
# - build-and-test-csharp // temporary removed to make strong named release.
11351129
- test-java
11361130
- name: windows-test-python
11371131
display_name: "Windows Python"
@@ -1272,17 +1266,10 @@ buildvariants:
12721266
- name: rhel-62-64-bit
12731267
display_name: "RHEL 6.2 64-bit"
12741268
run_on: rhel62-small
1275-
expansions:
1276-
has_packages: true
1277-
packager_distro: rhel62
1278-
packager_arch: x86_64
12791269
tasks:
12801270
- build-and-test-and-upload
12811271
- build-and-test-shared-bson
12821272
- test-java
1283-
- name: publish-packages
1284-
distros:
1285-
- rhel70-small
12861273
- name: rhel-70-64-bit
12871274
display_name: "RHEL 7.0 64-bit"
12881275
run_on: rhel70-small
@@ -1444,7 +1431,6 @@ buildvariants:
14441431
- build-and-test-and-upload
14451432
- build-and-test-shared-bson
14461433
- build-and-test-asan
1447-
# - build-and-test-csharp // temporary removed to make strong named release.
14481434
- test-java
14491435
- name: publish-packages
14501436
distros:
@@ -1486,7 +1472,6 @@ buildvariants:
14861472
- build-and-test-and-upload
14871473
- build-and-test-shared-bson
14881474
- build-and-test-asan
1489-
# - build-and-test-csharp // temporary removed to make strong named release.
14901475
- test-java
14911476
- upload-java
14921477
- publish-packages
@@ -1517,8 +1502,7 @@ buildvariants:
15171502
- build-and-test-and-upload
15181503
- build-and-test-shared-bson
15191504
- build-and-test-asan
1520-
# see https://jira.mongodb.org/browse/MONGOCRYPT-515
1521-
#- build-and-test-csharp
1505+
- build-and-test-ubsan
15221506
- test-java
15231507
- upload-java
15241508
- name: publish-packages

ext/libmongocrypt/libmongocrypt/.evergreen/debian_package_build.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ export DEBOOTSTRAP_DIR=`pwd`/debootstrap.git
6666
sudo -E ./debootstrap.git/debootstrap "${_dbs_args[@]}" ./unstable-chroot/ http://cdn-aws.deb.debian.org/debian
6767
cp -a libmongocrypt ./unstable-chroot/tmp/
6868
sudo chroot ./unstable-chroot /bin/bash -c '(set -o xtrace && \
69-
apt-get install -y build-essential git-buildpackage fakeroot debhelper cmake curl ca-certificates libssl-dev pkg-config libbson-dev libintelrdfpmath-dev && \
69+
apt-get install -y build-essential git-buildpackage fakeroot debhelper cmake curl ca-certificates libssl-dev pkg-config libbson-dev libintelrdfpmath-dev python3-packaging && \
7070
chown -R root:root /tmp/libmongocrypt && \
7171
cd /tmp/libmongocrypt && \
7272
git clean -fdx && \

ext/libmongocrypt/libmongocrypt/.evergreen/prep_c_driver_source.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
set -euxo pipefail
44

55
# Clone mongo-c-driver and check out to a tagged version.
6-
MONGO_C_DRIVER_VERSION=1.27.1
6+
MONGO_C_DRIVER_VERSION=1.28.1
77

88
# Force checkout with lf endings since .sh must have lf, not crlf on Windows
99
git clone https://github.com/mongodb/mongo-c-driver.git --config core.eol=lf --config core.autocrlf=false --depth=1 --branch $MONGO_C_DRIVER_VERSION

ext/libmongocrypt/libmongocrypt/CHANGELOG.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,11 @@
11
# ChangeLog
2+
## 1.12.0
3+
### New features
4+
- Add option to configure Data Encryption Key cache lifetime (`mongocrypt_setopt_key_expiration`)
5+
- Add opt-in retry behavior for KMS operations (`mongocrypt_setopt_retry_kms`)
6+
### Removed
7+
- libmongocrypt is no longer published in the MongoDB package repository for RHEL 6. libmongocrypt may instead be built from source on RHEL 6, but support for RHEL 6 will be dropped in a future release.
8+
29
## 1.11.0
310
### New features
411
- Support `range` algorithm as stable.
@@ -75,7 +82,7 @@ This release makes backwards breaking changes to Queryable Encryption (QE) behav
7582
- Set context error state during KMS provider validation.
7683
## 1.6.1
7784
## Fixed
78-
- Fix libbson dependency in pkg-config for PPA.
85+
- Fix libbson dependency in pkg-config for MongoDB repository package.
7986
## 1.6.0
8087
## New Features
8188
- Support accessToken to authenticate with Azure.

ext/libmongocrypt/libmongocrypt/CMakeLists.txt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,6 @@ if (ENABLE_MORE_WARNINGS_AS_ERRORS)
8383
)
8484
endif ()
8585

86-
add_subdirectory (bindings/cs)
87-
8886
include (GenerateExportHeader)
8987

9088
include (CTest)
@@ -116,6 +114,7 @@ set (MONGOCRYPT_SOURCES
116114
src/mc-fle2-payload-uev-common.c
117115
src/mc-fle2-payload-uev-v2.c
118116
src/mc-fle2-rfds.c
117+
src/mc-fle2-tag-and-encrypted-metadata-block.c
119118
src/mc-range-edge-generation.c
120119
src/mc-range-mincover.c
121120
src/mc-range-encoding.c
@@ -459,6 +458,7 @@ endif ()
459458

460459
set (TEST_MONGOCRYPT_SOURCES
461460
test/test-gcp-auth.c
461+
test/test-mc-cmp.c
462462
test/test-mc-efc.c
463463
test/test-mc-fle2-find-equality-payload-v2.c
464464
test/test-mc-fle2-find-range-payload-v2.c
@@ -469,6 +469,7 @@ set (TEST_MONGOCRYPT_SOURCES
469469
test/test-mc-fle2-payload-uev.c
470470
test/test-mc-fle2-payload-uev-v2.c
471471
test/test-mc-fle2-rfds.c
472+
test/test-mc-fle2-tag-and-encrypted-metadata-block.c
472473
test/test-mc-range-edge-generation.c
473474
test/test-mc-range-mincover.c
474475
test/test-mc-rangeopts.c

ext/libmongocrypt/libmongocrypt/CODEOWNERS

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,3 @@ bindings/python @mongodb/dbx-python
55

66
# Java Bindings
77
bindings/java @jyemin @rozza
8-
9-
# CSharp Bindings
10-
bindings/cs @DmitryLukyanov

ext/libmongocrypt/libmongocrypt/README.md

Lines changed: 39 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -112,10 +112,38 @@ See [releasing](./doc/releasing.md).
112112
Distribution packages (i.e., .deb/.rpm) are built and published for several Linux distributions. The installation of these packages for supported platforms is documented here.
113113

114114
### Unstable Development Distribution Packages ###
115-
To install the latest unstable development package, change `1.11` to `development` in the package URLs listed in the subsequent instructions. For example, `https://libmongocrypt.s3.amazonaws.com/apt/ubuntu <release>/libmongocrypt/1.11` in the instructions would become `https://libmongocrypt.s3.amazonaws.com/apt/ubuntu <release>/libmongocrypt/development`. Do not use the unstable version of libmongocrypt in a production environment.
115+
To install the latest unstable development package, change `1.12` to `development` in the package URLs listed in the subsequent instructions. For example, `https://libmongocrypt.s3.amazonaws.com/apt/ubuntu <release>/libmongocrypt/1.12` in the instructions would become `https://libmongocrypt.s3.amazonaws.com/apt/ubuntu <release>/libmongocrypt/development`. Do not use the unstable version of libmongocrypt in a production environment.
116116

117117
### .deb Packages (Debian and Ubuntu) ###
118118

119+
The repository containing the Debian and Ubuntu .deb packages can be configured automatically, using extrepo, or manually. Once the repository is configured then the packages can be installed.
120+
121+
#### Repository configuration with extrepo ####
122+
123+
Extrepo is available on Debian 11 and newer, as well as Ubuntu 20.04 and newer.
124+
125+
First, install the extrepo package:
126+
127+
```
128+
sudo apt install extrepo
129+
```
130+
131+
If you would like to see the information about the repository, it can be viewed with the search command:
132+
133+
```
134+
extrepo search libmongocrypt
135+
```
136+
137+
In order to enable the repository, execute this command:
138+
139+
```
140+
sudo extrepo enable libmongocrypt
141+
```
142+
143+
Once the repository is configured, continue with package installation.
144+
145+
#### Manual repository configuration ####
146+
119147
First, import the public key used to sign the package repositories:
120148

121149
```
@@ -125,24 +153,21 @@ sudo sh -c 'curl -s --location https://pgp.mongodb.com/libmongocrypt.asc | gpg -
125153
Second, create a list entry for the repository. For Ubuntu systems (be sure to change `<release>` to `xenial`, `bionic`, `focal`, or `jammy`, as appropriate to your system):
126154

127155
```
128-
echo "deb https://libmongocrypt.s3.amazonaws.com/apt/ubuntu <release>/libmongocrypt/1.11 universe" | sudo tee /etc/apt/sources.list.d/libmongocrypt.list
156+
echo "deb https://libmongocrypt.s3.amazonaws.com/apt/ubuntu <release>/libmongocrypt/1.12 universe" | sudo tee /etc/apt/sources.list.d/libmongocrypt.list
129157
```
130158

131159
For Debian systems (be sure to change `<release>` to `stretch`, `buster`, `bullseye`, or `bookworm` as appropriate to your system):
132160

133161
```
134-
echo "deb https://libmongocrypt.s3.amazonaws.com/apt/debian <release>/libmongocrypt/1.11 main" | sudo tee /etc/apt/sources.list.d/libmongocrypt.list
162+
echo "deb https://libmongocrypt.s3.amazonaws.com/apt/debian <release>/libmongocrypt/1.12 main" | sudo tee /etc/apt/sources.list.d/libmongocrypt.list
135163
```
136164

137-
Third, update the package cache:
165+
#### Package installation ####
138166

139-
```
140-
sudo apt-get update
141-
```
142-
143-
Finally, install the libmongocrypt packages:
167+
Finally, update the package cache and install the libmongocrypt packages:
144168

145169
```
170+
sudo apt-get update
146171
sudo apt-get install -y libmongocrypt-dev
147172
```
148173

@@ -156,7 +181,7 @@ Create the file `/etc/yum.repos.d/libmongocrypt.repo` with contents:
156181
```
157182
[libmongocrypt]
158183
name=libmongocrypt repository
159-
baseurl=https://libmongocrypt.s3.amazonaws.com/yum/redhat/$releasever/libmongocrypt/1.11/x86_64
184+
baseurl=https://libmongocrypt.s3.amazonaws.com/yum/redhat/$releasever/libmongocrypt/1.12/x86_64
160185
gpgcheck=1
161186
enabled=1
162187
gpgkey=https://pgp.mongodb.com/libmongocrypt.asc
@@ -175,7 +200,7 @@ Create the file `/etc/yum.repos.d/libmongocrypt.repo` with contents:
175200
```
176201
[libmongocrypt]
177202
name=libmongocrypt repository
178-
baseurl=https://libmongocrypt.s3.amazonaws.com/yum/amazon/2023/libmongocrypt/1.11/x86_64
203+
baseurl=https://libmongocrypt.s3.amazonaws.com/yum/amazon/2023/libmongocrypt/1.12/x86_64
179204
gpgcheck=1
180205
enabled=1
181206
gpgkey=https://pgp.mongodb.com/libmongocrypt.asc
@@ -194,7 +219,7 @@ Create the file `/etc/yum.repos.d/libmongocrypt.repo` with contents:
194219
```
195220
[libmongocrypt]
196221
name=libmongocrypt repository
197-
baseurl=https://libmongocrypt.s3.amazonaws.com/yum/amazon/2/libmongocrypt/1.11/x86_64
222+
baseurl=https://libmongocrypt.s3.amazonaws.com/yum/amazon/2/libmongocrypt/1.12/x86_64
198223
gpgcheck=1
199224
enabled=1
200225
gpgkey=https://pgp.mongodb.com/libmongocrypt.asc
@@ -213,7 +238,7 @@ Create the file `/etc/yum.repos.d/libmongocrypt.repo` with contents:
213238
```
214239
[libmongocrypt]
215240
name=libmongocrypt repository
216-
baseurl=https://libmongocrypt.s3.amazonaws.com/yum/amazon/2013.03/libmongocrypt/1.11/x86_64
241+
baseurl=https://libmongocrypt.s3.amazonaws.com/yum/amazon/2013.03/libmongocrypt/1.12/x86_64
217242
gpgcheck=1
218243
enabled=1
219244
gpgkey=https://pgp.mongodb.com/libmongocrypt.asc
@@ -236,7 +261,7 @@ sudo rpm --import https://pgp.mongodb.com/libmongocrypt.asc
236261
Second, add the repository (be sure to change `<release>` to `12` or `15`, as appropriate to your system):
237262

238263
```
239-
sudo zypper addrepo --gpgcheck "https://libmongocrypt.s3.amazonaws.com/zypper/suse/<release>/libmongocrypt/1.11/x86_64" libmongocrypt
264+
sudo zypper addrepo --gpgcheck "https://libmongocrypt.s3.amazonaws.com/zypper/suse/<release>/libmongocrypt/1.12/x86_64" libmongocrypt
240265
```
241266

242267
Finally, install the libmongocrypt packages:

ext/libmongocrypt/libmongocrypt/bindings/cs/.gitignore

Lines changed: 0 additions & 12 deletions
This file was deleted.

ext/libmongocrypt/libmongocrypt/bindings/cs/CMakeLists.txt

Lines changed: 0 additions & 17 deletions
This file was deleted.

0 commit comments

Comments
 (0)
close