From ea86bbb8f63044542de76714128ea3af925fa656 Mon Sep 17 00:00:00 2001 From: bailey Date: Thu, 11 Sep 2025 14:47:41 -0600 Subject: [PATCH 1/9] docs --- README.md | 83 +++++++++++++++++++++++++++++--------------- etc/README.hbs | 92 ++++++++++++++++++++++++++++++++++++++++++------- lib/kerberos.js | 2 +- package.json | 4 +-- 4 files changed, 138 insertions(+), 43 deletions(-) diff --git a/README.md b/README.md index 8c1fb361..f1a9c2bc 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ Kerberos ======== -The `kerberos` package is a C++ extension for Node.js that provides cross-platform support for kerberos authentication using GSSAPI on linux/osx, and SSPI on windows. Much of the code in this module is adapted from [ccs-kerberos](https://github.com/apple/ccs-pykerberos) and [winkerberos](https://github.com/mongodb-labs/winkerberos). +The `kerberos` package is a C++ extension for Node.js that provides cross-platform support for kerberos authentication +using GSSAPI on linux/osx, and SSPI on windows. Much of the code in this module is adapted from +[ccs-kerberos](https://github.com/apple/ccs-pykerberos) and [winkerberos](https://github.com/mongodb-labs/winkerberos). ### Requirements @@ -15,27 +17,34 @@ The `kerberos` package is a C++ extension for Node.js that provides cross-platfo - Distribution-specific kerberos packages (e.g. `krb5` on Homebrew) **Windows** -- **Option 1:** Install all the required tools and configurations using Microsoft's [windows-build-tools](https://github.com/felixrieseberg/windows-build-tools) by running `npm install -g windows-build-tools` from an elevated PowerShell (run as Administrator). +- **Option 1:** Install all the required tools and configurations using Microsoft's +[windows-build-tools](https://github.com/felixrieseberg/windows-build-tools) by running `npm install -g +windows-build-tools` from an elevated PowerShell (run as Administrator). - **Option 2:** Install dependencies and configuration manually - 1. Visual C++ Build Environment: - * **Option 1:** Install [Visual C++ Build Tools](http://go.microsoft.com/fwlink/?LinkId=691126) using the *Default Install* option. - * **Option 2:** Install [Visual Studio 2015](https://www.visualstudio.com/products/visual-studio-community-vs) (or modify an existing installation) and select *Common Tools for Visual C++* during setup. +1. Visual C++ Build Environment: +* **Option 1:** Install [Visual C++ Build Tools](http://go.microsoft.com/fwlink/?LinkId=691126) using the *Default +Install* option. +* **Option 2:** Install [Visual Studio 2015](https://www.visualstudio.com/products/visual-studio-community-vs) (or +modify an existing installation) and select *Common Tools for Visual C++* during setup. - > :bulb: [Windows Vista / 7 only] requires [.NET Framework 4.5.1](http://www.microsoft.com/en-us/download/details.aspx?id=40773) +> :bulb: [Windows Vista / 7 only] requires [.NET Framework +4.5.1](http://www.microsoft.com/en-us/download/details.aspx?id=40773) - 2. Install [Python 2.7](https://www.python.org/downloads/) or [Miniconda 2.7](http://conda.pydata.org/miniconda.html) (`v3.x.x` is not supported), and run `npm config set python python2.7` - 3. Launch cmd, `npm config set msvs_version 2015` +2. Install [Python 2.7](https://www.python.org/downloads/) or [Miniconda 2.7](http://conda.pydata.org/miniconda.html) +(`v3.x.x` is not supported), and run `npm config set python python2.7` +3. Launch cmd, `npm config set msvs_version 2015` ### MongoDB Node.js Driver Version Compatibility -Only the following version combinations with the [MongoDB Node.js Driver](https://github.com/mongodb/node-mongodb-native) are considered stable. +Only the following version combinations with the [MongoDB Node.js +Driver](https://github.com/mongodb/node-mongodb-native) are considered stable. -| | `kerberos@1.x` | `kerberos@2.x` | +| | `kerberos@1.x` | `kerberos@2.x` | | ------------- | -------------- | -------------- | -| `mongodb@6.x` | N/A | ✓ | -| `mongodb@5.x` | ✓ | ✓ | -| `mongodb@4.x` | ✓ | ✓ | -| `mongodb@3.x` | ✓ | N/A | +| `mongodb@6.x` | N/A | ✓ | +| `mongodb@5.x` | ✓ | ✓ | +| `mongodb@4.x` | ✓ | ✓ | +| `mongodb@3.x` | ✓ | N/A | ### Installation @@ -51,18 +60,20 @@ Below are the platforms that are available as prebuilds on each github release. `prebuild-install` downloads these automatically depending on the platform you are running npm install on. - Linux GLIBC 2.23 or later - - s390x - - arm64 - - x64 +- s390x +- arm64 +- x64 - MacOS universal binary - - x64 - - arm64 +- x64 +- arm64 - Windows - - x64 +- x64 ### Release Integrity -Releases are created automatically and signed using the [Node team's GPG key](https://pgp.mongodb.com/node-driver.asc). This applies to the git tag as well as all release packages provided as part of a GitHub release. To verify the provided packages, download the key and import it using gpg: +Releases are created automatically and signed using the [Node team's GPG key](https://pgp.mongodb.com/node-driver.asc). +This applies to the git tag as well as all release packages provided as part of a GitHub release. To verify the provided +packages, download the key and import it using gpg: ``` gpg --import node-driver.asc @@ -71,9 +82,9 @@ gpg --import node-driver.asc The GitHub release contains a detached signature file for the NPM package (named `kerberos-X.Y.Z.tgz.sig`). -The following command returns the link npm package. +The following command returns the link npm package. ```shell -npm view kerberos@vX.Y.Z dist.tarball +npm view kerberos@vX.Y.Z dist.tarball ``` Using the result of the above command, a `curl` command can return the official npm package for the release. @@ -84,16 +95,19 @@ gpg --verify kerberos-X.Y.Z.tgz.sig kerberos-X.Y.Z.tgz ``` >[!Note] -No verification is done when using npm to install the package. To ensure release integrity when using npm, download the tarball manually from the GitHub release, verify the signature, then install the package from the downloaded tarball using npm install mongodb-X.Y.Z.tgz. +No verification is done when using npm to install the package. To ensure release integrity when using npm, download the +tarball manually from the GitHub release, verify the signature, then install the package from the downloaded tarball +using npm install mongodb-X.Y.Z.tgz. -To verify the native `.node` packages, follow the same steps as above. +To verify the native `.node` packages, follow the same steps as above. ### Testing Run the test suite using: ```bash -docker run -i -v PATH_TO_KERBEROS_REPO:/app -w /app -e PROJECT_DIRECTORY=/app ubuntu:20.04 /bin/bash /app/.evergreen/run-tests-ubuntu.sh +docker run -i -v PATH_TO_KERBEROS_REPO:/app -w /app -e PROJECT_DIRECTORY=/app ubuntu:20.04 /bin/bash +/app/.evergreen/run-tests-ubuntu.sh ``` NOTE: The test suite requires an active kerberos deployment. @@ -107,6 +121,11 @@ NOTE: The test suite requires an active kerberos deployment.
KerberosServer
+
MongoAuthProcess
+

A class that was used for MongoDB kerberos authentication with legacy +MongoDB Node drivers (mongodb<4.0).

+

Not intended for direct use.

+
## Functions @@ -224,6 +243,16 @@ Perform the client side kerberos unwrap step Processes a single kerberos server-side step using the supplied client data. **Returns**: Promise - returns Promise if no callback passed + + +## ~~MongoAuthProcess~~ +***This class will be removed in an upcoming major release.*** + +A class that was used for MongoDB kerberos authentication with legacy +MongoDB Node drivers (`mongodb<4.0`). + +Not intended for direct use. + ## checkPassword(username, password, service, [defaultRealm], [callback]) @@ -278,7 +307,7 @@ Details are looked up via the `/etc/keytab` file. | [options] | object | Optional settings | | [options.principal] | string | Optional string containing the client principal in the form 'user@realm' (e.g. 'jdoe@example.com'). | | [options.flags] | number | Optional integer used to set GSS flags. (e.g. `GSS_C_DELEG_FLAG\|GSS_C_MUTUAL_FLAG\|GSS_C_SEQUENCE_FLAG` will allow for forwarding credentials to the remote host) | -| [options.mechOID] | number | Optional GSS mech OID. Defaults to None (`GSS_C_NO_OID`). Other possible values are `GSS_MECH_OID_KRB5`, `GSS_MECH_OID_SPNEGO`. | +| [options.mechOID] | number | Optional GSS mech OID. Defaults to None (GSS_C_NO_OID). Other possible values are `GSS_MECH_OID_KRB5`, `GSS_MECH_OID_SPNEGO`. | | [callback] | function | | Initializes a context for client-side authentication with the given service principal. diff --git a/etc/README.hbs b/etc/README.hbs index 424e1ada..f86b3132 100644 --- a/etc/README.hbs +++ b/etc/README.hbs @@ -1,8 +1,8 @@ Kerberos ======== -[![Build Status](https://travis-ci.org/mongodb-js/kerberos.svg?branch=master)](https://travis-ci.org/mongodb-js/kerberos) - -The `kerberos` package is a C++ extension for Node.js that provides cross-platform support for kerberos authentication using GSSAPI on linux/osx, and SSPI on windows. Much of the code in this module is adapted from [ccs-kerberos](https://github.com/apple/ccs-pykerberos) and [winkerberos](https://github.com/mongodb-labs/winkerberos). +The `kerberos` package is a C++ extension for Node.js that provides cross-platform support for kerberos authentication +using GSSAPI on linux/osx, and SSPI on windows. Much of the code in this module is adapted from +[ccs-kerberos](https://github.com/apple/ccs-pykerberos) and [winkerberos](https://github.com/mongodb-labs/winkerberos). ### Requirements @@ -17,16 +17,34 @@ The `kerberos` package is a C++ extension for Node.js that provides cross-platfo - Distribution-specific kerberos packages (e.g. `krb5` on Homebrew) **Windows** -- **Option 1:** Install all the required tools and configurations using Microsoft's [windows-build-tools](https://github.com/felixrieseberg/windows-build-tools) by running `npm install -g windows-build-tools` from an elevated PowerShell (run as Administrator). +- **Option 1:** Install all the required tools and configurations using Microsoft's +[windows-build-tools](https://github.com/felixrieseberg/windows-build-tools) by running `npm install -g +windows-build-tools` from an elevated PowerShell (run as Administrator). - **Option 2:** Install dependencies and configuration manually - 1. Visual C++ Build Environment: - * **Option 1:** Install [Visual C++ Build Tools](http://go.microsoft.com/fwlink/?LinkId=691126) using the *Default Install* option. - * **Option 2:** Install [Visual Studio 2015](https://www.visualstudio.com/products/visual-studio-community-vs) (or modify an existing installation) and select *Common Tools for Visual C++* during setup. +1. Visual C++ Build Environment: +* **Option 1:** Install [Visual C++ Build Tools](http://go.microsoft.com/fwlink/?LinkId=691126) using the *Default +Install* option. +* **Option 2:** Install [Visual Studio 2015](https://www.visualstudio.com/products/visual-studio-community-vs) (or +modify an existing installation) and select *Common Tools for Visual C++* during setup. + +> :bulb: [Windows Vista / 7 only] requires [.NET Framework +4.5.1](http://www.microsoft.com/en-us/download/details.aspx?id=40773) + +2. Install [Python 2.7](https://www.python.org/downloads/) or [Miniconda 2.7](http://conda.pydata.org/miniconda.html) +(`v3.x.x` is not supported), and run `npm config set python python2.7` +3. Launch cmd, `npm config set msvs_version 2015` - > :bulb: [Windows Vista / 7 only] requires [.NET Framework 4.5.1](http://www.microsoft.com/en-us/download/details.aspx?id=40773) +### MongoDB Node.js Driver Version Compatibility - 2. Install [Python 2.7](https://www.python.org/downloads/) or [Miniconda 2.7](http://conda.pydata.org/miniconda.html) (`v3.x.x` is not supported), and run `npm config set python python2.7` - 3. Launch cmd, `npm config set msvs_version 2015` +Only the following version combinations with the [MongoDB Node.js +Driver](https://github.com/mongodb/node-mongodb-native) are considered stable. + +| | `kerberos@1.x` | `kerberos@2.x` | +| ------------- | -------------- | -------------- | +| `mongodb@6.x` | N/A | ✓ | +| `mongodb@5.x` | ✓ | ✓ | +| `mongodb@4.x` | ✓ | ✓ | +| `mongodb@3.x` | ✓ | N/A | ### Installation @@ -36,16 +54,64 @@ Now you can install `kerberos` with the following: npm install kerberos ``` +#### Prebuild Platforms + +Below are the platforms that are available as prebuilds on each github release. +`prebuild-install` downloads these automatically depending on the platform you are running npm install on. + +- Linux GLIBC 2.23 or later +- s390x +- arm64 +- x64 +- MacOS universal binary +- x64 +- arm64 +- Windows +- x64 + +### Release Integrity + +Releases are created automatically and signed using the [Node team's GPG key](https://pgp.mongodb.com/node-driver.asc). +This applies to the git tag as well as all release packages provided as part of a GitHub release. To verify the provided +packages, download the key and import it using gpg: + +``` +gpg --import node-driver.asc +``` + +The GitHub release contains a detached signature file for the NPM package (named +`kerberos-X.Y.Z.tgz.sig`). + +The following command returns the link npm package. +```shell +npm view kerberos@vX.Y.Z dist.tarball +``` + +Using the result of the above command, a `curl` command can return the official npm package for the release. + +To verify the integrity of the downloaded package, run the following command: +```shell +gpg --verify kerberos-X.Y.Z.tgz.sig kerberos-X.Y.Z.tgz +``` + +>[!Note] +No verification is done when using npm to install the package. To ensure release integrity when using npm, download the +tarball manually from the GitHub release, verify the signature, then install the package from the downloaded tarball +using npm install mongodb-X.Y.Z.tgz. + +To verify the native `.node` packages, follow the same steps as above. + ### Testing Run the test suite using: ```bash -npm test +docker run -i -v PATH_TO_KERBEROS_REPO:/app -w /app -e PROJECT_DIRECTORY=/app ubuntu:20.04 /bin/bash +/app/.evergreen/run-tests-ubuntu.sh ``` -NOTE: The test suite requires an active kerberos deployment, see `test/scripts/travis.sh` to better understand these requirements. +NOTE: The test suite requires an active kerberos deployment. # Documentation -{{>main}} +{{>main}} \ No newline at end of file diff --git a/lib/kerberos.js b/lib/kerberos.js index e1f1375c..f7681806 100644 --- a/lib/kerberos.js +++ b/lib/kerberos.js @@ -157,7 +157,7 @@ const principalDetails = defineOperation(kerberos.principalDetails, [ * @param {string} service A string containing the service principal in the form 'type@fqdn' (e.g. 'imap@mail.apple.com'). * @param {object} [options] Optional settings * @param {string} [options.principal] Optional string containing the client principal in the form 'user@realm' (e.g. 'jdoe@example.com'). - * @param {number} [options.gssFlags] Optional integer used to set GSS flags. (e.g. GSS_C_DELEG_FLAG|GSS_C_MUTUAL_FLAG|GSS_C_SEQUENCE_FLAG will allow for forwarding credentials to the remote host) + * @param {number} [options.flags] Optional integer used to set GSS flags. (e.g. `GSS_C_DELEG_FLAG\|GSS_C_MUTUAL_FLAG\|GSS_C_SEQUENCE_FLAG` will allow for forwarding credentials to the remote host) * @param {number} [options.mechOID] Optional GSS mech OID. Defaults to None (GSS_C_NO_OID). Other possible values are `GSS_MECH_OID_KRB5`, `GSS_MECH_OID_SPNEGO`. * @param {function} [callback] * @return {Promise} returns Promise if no callback passed diff --git a/package.json b/package.json index d4b8df1f..c127bd70 100644 --- a/package.json +++ b/package.json @@ -59,7 +59,7 @@ "format-js": "ESLINT_USE_FLAT_CONFIG=false eslint lib test --fix", "check:lint": "ESLINT_USE_FLAT_CONFIG=false eslint lib test", "precommit": "check-clang-format", - "docs": "jsdoc2md --template etc/README.hbs --plugin dmd-clear --files lib/kerberos.js > README.md", + "docs": "jsdoc2md --template etc/README.hbs --plugin dmd-clear --files lib/kerberos.js lib/auth_processes/mongodb.js > README.md", "test": "mocha 'test/*_tests.js'", "prebuild": "prebuild --runtime napi --strip --verbose --all" }, @@ -73,4 +73,4 @@ }, "license": "Apache-2.0", "readmeFilename": "README.md" -} +} \ No newline at end of file From 1f9b5ba2987fb546ef418cb84dd4fdec7eebd6f2 Mon Sep 17 00:00:00 2001 From: bailey Date: Thu, 11 Sep 2025 14:47:50 -0600 Subject: [PATCH 2/9] docs --- lib/auth_processes/mongodb.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/auth_processes/mongodb.js b/lib/auth_processes/mongodb.js index ff14b9ee..5682e115 100644 --- a/lib/auth_processes/mongodb.js +++ b/lib/auth_processes/mongodb.js @@ -2,6 +2,16 @@ const dns = require('dns'); const kerberos = require('../kerberos'); +/** + * A class that was used for MongoDB kerberos authentication with legacy + * MongoDB Node drivers (`mongodb<4.0`). + * + * Not intended for direct use. + * + * @kind class + * + * @deprecated This class will be removed in an upcoming major release. + */ class MongoAuthProcess { constructor(host, port, serviceName, options) { options = options || {}; From f84e10e2bd5e74d14571db2719c0922bd788de8e Mon Sep 17 00:00:00 2001 From: bailey Date: Thu, 11 Sep 2025 14:50:03 -0600 Subject: [PATCH 3/9] add doc generation action --- .github/workflows/check-docs.yml | 88 ++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 .github/workflows/check-docs.yml diff --git a/.github/workflows/check-docs.yml b/.github/workflows/check-docs.yml new file mode 100644 index 00000000..4e7a9a29 --- /dev/null +++ b/.github/workflows/check-docs.yml @@ -0,0 +1,88 @@ +on: + pull_request: + branches: [main] + workflow_dispatch: {} + workflow_call: {} + +name: Build and Test + +permissions: + contents: write + pull-requests: write + id-token: write + +jobs: + check_docs: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Install dependencies + run: node install --ignore-scripts + + - name: Build and check docs + run: | + npm run docs + if ! git diff --quiet README.md ; then + echo "Generated readme is out-of-sync! Please update the readme and re-commit, modifying the template in etc/README.hbs if necessary." + exit 1 + fi + + container_builds: + outputs: + artifact_id: ${{ steps.upload.outputs.artifact-id }} + runs-on: ubuntu-latest + strategy: + matrix: + linux_arch: [s390x, arm64, amd64] + steps: + - uses: actions/checkout@v4 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Run Buildx + run: | + docker buildx create --name builder --bootstrap --use + docker buildx build --platform linux/${{ matrix.linux_arch }} --build-arg NODE_ARCH=${{ matrix.linux_arch == 'amd64' && 'x64' || matrix.linux_arch }} --output type=local,dest=./prebuilds,platform-split=false -f ./.github/docker/Dockerfile.glibc . + + - id: upload + name: Upload prebuild + uses: actions/upload-artifact@v4 + with: + name: build-linux-${{ matrix.linux_arch }} + path: prebuilds/ + if-no-files-found: 'error' + retention-days: 1 + compression-level: 0 + + freebsd_builds: + runs-on: ubuntu-latest + strategy: + matrix: + freebsd_arch: [aarch64, amd64] + steps: + - uses: actions/checkout@v4 + + - name: Build freebsd-${{ matrix.freebsd_arch }} Prebuild + uses: vmactions/freebsd-vm@v1 + with: + arch: ${{ matrix.freebsd_arch }} + usesh: true + prepare: | + pkg install -y krb5 node npm pkgconf + run: | + node .github/scripts/build.mjs + + - id: upload + name: Upload prebuild + uses: actions/upload-artifact@v4 + with: + name: build-freebsd-${{ matrix.freebsd_arch }} + path: prebuilds/ + if-no-files-found: 'error' + retention-days: 1 + compression-level: 0 From 1cdbadbf8d8ee813b36b4947452a792c0338eb64 Mon Sep 17 00:00:00 2001 From: bailey Date: Thu, 11 Sep 2025 14:57:14 -0600 Subject: [PATCH 4/9] fix action's install step --- .github/workflows/check-docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check-docs.yml b/.github/workflows/check-docs.yml index 4e7a9a29..f7c52f3e 100644 --- a/.github/workflows/check-docs.yml +++ b/.github/workflows/check-docs.yml @@ -18,7 +18,7 @@ jobs: - uses: actions/checkout@v4 - name: Install dependencies - run: node install --ignore-scripts + run: npm install --ignore-scripts - name: Build and check docs run: | From 25eb0dcd0e8b4547fb4839df2ae2fb7ce200e8bb Mon Sep 17 00:00:00 2001 From: bailey Date: Thu, 11 Sep 2025 14:59:17 -0600 Subject: [PATCH 5/9] break docs action --- lib/auth_processes/mongodb.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/auth_processes/mongodb.js b/lib/auth_processes/mongodb.js index 5682e115..8817e063 100644 --- a/lib/auth_processes/mongodb.js +++ b/lib/auth_processes/mongodb.js @@ -6,7 +6,7 @@ const kerberos = require('../kerberos'); * A class that was used for MongoDB kerberos authentication with legacy * MongoDB Node drivers (`mongodb<4.0`). * - * Not intended for direct use. + * Breakdocs Not intended for direct use. * * @kind class * From 3d045f1a8011fbc27ed6f6fcafb81707e7e1505e Mon Sep 17 00:00:00 2001 From: bailey Date: Thu, 11 Sep 2025 14:59:50 -0600 Subject: [PATCH 6/9] Revert "break docs action" This reverts commit 25eb0dcd0e8b4547fb4839df2ae2fb7ce200e8bb. --- lib/auth_processes/mongodb.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/auth_processes/mongodb.js b/lib/auth_processes/mongodb.js index 8817e063..5682e115 100644 --- a/lib/auth_processes/mongodb.js +++ b/lib/auth_processes/mongodb.js @@ -6,7 +6,7 @@ const kerberos = require('../kerberos'); * A class that was used for MongoDB kerberos authentication with legacy * MongoDB Node drivers (`mongodb<4.0`). * - * Breakdocs Not intended for direct use. + * Not intended for direct use. * * @kind class * From 7c545479373d437b8056e69749627e201541eec8 Mon Sep 17 00:00:00 2001 From: bailey Date: Thu, 11 Sep 2025 15:01:14 -0600 Subject: [PATCH 7/9] fix docs --- .github/workflows/check-docs.yml | 59 -------------------------------- 1 file changed, 59 deletions(-) diff --git a/.github/workflows/check-docs.yml b/.github/workflows/check-docs.yml index f7c52f3e..0ee2b65f 100644 --- a/.github/workflows/check-docs.yml +++ b/.github/workflows/check-docs.yml @@ -27,62 +27,3 @@ jobs: echo "Generated readme is out-of-sync! Please update the readme and re-commit, modifying the template in etc/README.hbs if necessary." exit 1 fi - - container_builds: - outputs: - artifact_id: ${{ steps.upload.outputs.artifact-id }} - runs-on: ubuntu-latest - strategy: - matrix: - linux_arch: [s390x, arm64, amd64] - steps: - - uses: actions/checkout@v4 - - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Run Buildx - run: | - docker buildx create --name builder --bootstrap --use - docker buildx build --platform linux/${{ matrix.linux_arch }} --build-arg NODE_ARCH=${{ matrix.linux_arch == 'amd64' && 'x64' || matrix.linux_arch }} --output type=local,dest=./prebuilds,platform-split=false -f ./.github/docker/Dockerfile.glibc . - - - id: upload - name: Upload prebuild - uses: actions/upload-artifact@v4 - with: - name: build-linux-${{ matrix.linux_arch }} - path: prebuilds/ - if-no-files-found: 'error' - retention-days: 1 - compression-level: 0 - - freebsd_builds: - runs-on: ubuntu-latest - strategy: - matrix: - freebsd_arch: [aarch64, amd64] - steps: - - uses: actions/checkout@v4 - - - name: Build freebsd-${{ matrix.freebsd_arch }} Prebuild - uses: vmactions/freebsd-vm@v1 - with: - arch: ${{ matrix.freebsd_arch }} - usesh: true - prepare: | - pkg install -y krb5 node npm pkgconf - run: | - node .github/scripts/build.mjs - - - id: upload - name: Upload prebuild - uses: actions/upload-artifact@v4 - with: - name: build-freebsd-${{ matrix.freebsd_arch }} - path: prebuilds/ - if-no-files-found: 'error' - retention-days: 1 - compression-level: 0 From ae3f19bd39993b5bf06f1f68cff3276ba6b80738 Mon Sep 17 00:00:00 2001 From: bailey Date: Fri, 12 Sep 2025 10:31:51 -0600 Subject: [PATCH 8/9] remove MongoAuthProcess from readme --- README.md | 15 --------------- package.json | 2 +- 2 files changed, 1 insertion(+), 16 deletions(-) diff --git a/README.md b/README.md index f1a9c2bc..9421d307 100644 --- a/README.md +++ b/README.md @@ -121,11 +121,6 @@ NOTE: The test suite requires an active kerberos deployment.
KerberosServer
-
MongoAuthProcess
-

A class that was used for MongoDB kerberos authentication with legacy -MongoDB Node drivers (mongodb<4.0).

-

Not intended for direct use.

-
## Functions @@ -243,16 +238,6 @@ Perform the client side kerberos unwrap step Processes a single kerberos server-side step using the supplied client data. **Returns**: Promise - returns Promise if no callback passed - - -## ~~MongoAuthProcess~~ -***This class will be removed in an upcoming major release.*** - -A class that was used for MongoDB kerberos authentication with legacy -MongoDB Node drivers (`mongodb<4.0`). - -Not intended for direct use. - ## checkPassword(username, password, service, [defaultRealm], [callback]) diff --git a/package.json b/package.json index c127bd70..6f1b2a94 100644 --- a/package.json +++ b/package.json @@ -59,7 +59,7 @@ "format-js": "ESLINT_USE_FLAT_CONFIG=false eslint lib test --fix", "check:lint": "ESLINT_USE_FLAT_CONFIG=false eslint lib test", "precommit": "check-clang-format", - "docs": "jsdoc2md --template etc/README.hbs --plugin dmd-clear --files lib/kerberos.js lib/auth_processes/mongodb.js > README.md", + "docs": "jsdoc2md --template etc/README.hbs --plugin dmd-clear --files lib/kerberos.js > README.md", "test": "mocha 'test/*_tests.js'", "prebuild": "prebuild --runtime napi --strip --verbose --all" }, From f0302fbf19c973c533e02e9be9116764a0fb36b0 Mon Sep 17 00:00:00 2001 From: bailey Date: Fri, 12 Sep 2025 10:33:22 -0600 Subject: [PATCH 9/9] remove diff in package file --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 6f1b2a94..d4b8df1f 100644 --- a/package.json +++ b/package.json @@ -59,7 +59,7 @@ "format-js": "ESLINT_USE_FLAT_CONFIG=false eslint lib test --fix", "check:lint": "ESLINT_USE_FLAT_CONFIG=false eslint lib test", "precommit": "check-clang-format", - "docs": "jsdoc2md --template etc/README.hbs --plugin dmd-clear --files lib/kerberos.js > README.md", + "docs": "jsdoc2md --template etc/README.hbs --plugin dmd-clear --files lib/kerberos.js > README.md", "test": "mocha 'test/*_tests.js'", "prebuild": "prebuild --runtime napi --strip --verbose --all" }, @@ -73,4 +73,4 @@ }, "license": "Apache-2.0", "readmeFilename": "README.md" -} \ No newline at end of file +}