From 4ead8e40e892ed8f60fdc3eb16b8c135e8dc37fe Mon Sep 17 00:00:00 2001 From: NickOvt Date: Mon, 4 Aug 2025 10:37:36 +0300 Subject: [PATCH 1/4] onConnect hook check if server is already closing, if it is then do not allow new connections --- lib/smtp-interface.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/smtp-interface.js b/lib/smtp-interface.js index 488a8505..1ade7594 100644 --- a/lib/smtp-interface.js +++ b/lib/smtp-interface.js @@ -284,6 +284,11 @@ class SMTPInterface { onConnect: (session, callback) => { session.interface = this.interface; + if (this.closing) { + let err = new Error('Server shutdown in progress'); + return setImmediate(() => callback(err)); + } + plugins.handler.runHooks('smtp:connect', [session], err => { if (err) { return setImmediate(() => callback(err)); From 5ee4cdf9e5c011e2437baf04c94842adc9a5b60b Mon Sep 17 00:00:00 2001 From: NickOvt Date: Mon, 4 Aug 2025 10:40:37 +0300 Subject: [PATCH 2/4] update workflow file, use latest ubuntu --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e4bcef4b..31def598 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -9,7 +9,7 @@ jobs: strategy: matrix: node: [16.x, 18.x, 20.x, 22.x] - os: [ubuntu-20.04] + os: [ubuntu-latest] runs-on: ${{ matrix.os }} # Service containers to run with `container-job` services: From f0daf9830d4f72e5f85cc17595e5fb8fe8048929 Mon Sep 17 00:00:00 2001 From: NickOvt Date: Mon, 4 Aug 2025 10:44:06 +0300 Subject: [PATCH 3/4] update test workflow file, use modern mongo --- .github/workflows/test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 31def598..d5978c84 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -31,7 +31,7 @@ jobs: - name: Start MongoDB uses: supercharge/mongodb-github-action@1.7.0 with: - mongodb-version: 4.4 + mongodb-version: 6.0 mongodb-port: 27017 mongodb-db: wildduck-test @@ -39,7 +39,7 @@ jobs: uses: actions/setup-node@v4 with: node-version: ${{ matrix.node }} - - run: which mongo + - run: which mongosh - run: npm install - name: Run tests run: npm run runtest From 7b588236529cc8c1f8418e95b320dba5ba67b3d0 Mon Sep 17 00:00:00 2001 From: NickOvt Date: Mon, 4 Aug 2025 10:46:06 +0300 Subject: [PATCH 4/4] test workflow, install mongosh --- .github/workflows/test.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d5978c84..33205b8d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -39,6 +39,16 @@ jobs: uses: actions/setup-node@v4 with: node-version: ${{ matrix.node }} + + - name: Install mongosh + run: | + sudo apt-get update + sudo apt-get install -y wget gnupg + wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add - + echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list + sudo apt-get update + sudo apt-get install -y mongodb-mongosh + - run: which mongosh - run: npm install - name: Run tests