diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e4bcef4b..33205b8d 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: @@ -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,17 @@ jobs: uses: actions/setup-node@v4 with: node-version: ${{ matrix.node }} - - run: which mongo + + - 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 run: npm run runtest 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));