From 75b1ee8d5bcb3c6e2812f2e3995c991b89d4ba62 Mon Sep 17 00:00:00 2001 From: Abdirahim Musse <33973272+abmusse@users.noreply.github.com> Date: Wed, 8 Mar 2023 12:51:39 -0600 Subject: [PATCH] test: fallback to IPv4 if IPv6 is unavailable openssl seems to default to use IPv6. This change adds a check for IPv6 is unavailable and uses IPv4 instead. On the Node.js CI IBM i build system IPv6 is currently disabled. This change should resolve the following test case failures: - https://ci.nodejs.org/job/node-test-commit-ibmi/nodes=ibmi73-ppc64/1085/testReport/(root)/test/sequential_test_tls_psk_client_/ - https://ci.nodejs.org/job/node-test-commit-ibmi/nodes=ibmi73-ppc64/1085/testReport/(root)/test/sequential_test_tls_securepair_client_/ --- test/sequential/test-tls-psk-client.js | 3 +++ test/sequential/test-tls-securepair-client.js | 6 +++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/test/sequential/test-tls-psk-client.js b/test/sequential/test-tls-psk-client.js index cb15acd01fcccb..88be174a9aae9f 100644 --- a/test/sequential/test-tls-psk-client.js +++ b/test/sequential/test-tls-psk-client.js @@ -6,6 +6,8 @@ if (!common.hasCrypto) if (!common.opensslCli) common.skip('missing openssl cli'); +const useIPv4 = common.hasIPv6 ? false : true; + const assert = require('assert'); const tls = require('tls'); const net = require('net'); @@ -23,6 +25,7 @@ const server = spawn(common.opensslCli, [ '-psk_hint', IDENTITY, '-nocert', '-rev', + ...(useIPv4 ? ['-4'] : []), ], { encoding: 'utf8' }); let serverErr = ''; let serverOut = ''; diff --git a/test/sequential/test-tls-securepair-client.js b/test/sequential/test-tls-securepair-client.js index c9215c43ad6ddb..7bbadd10d0046d 100644 --- a/test/sequential/test-tls-securepair-client.js +++ b/test/sequential/test-tls-securepair-client.js @@ -32,6 +32,8 @@ if (!common.hasCrypto) if (common.isWindows) common.skip('test does not work on Windows'); // ...but it should! +const useIPv4 = common.hasIPv6 ? false : true; + const net = require('net'); const assert = require('assert'); const fixtures = require('../common/fixtures'); @@ -64,7 +66,9 @@ function test(keyPath, certPath, check, next) { const server = spawn(common.opensslCli, ['s_server', '-accept', 0, '-cert', fixtures.path(certPath), - '-key', fixtures.path(keyPath)]); + '-key', fixtures.path(keyPath), + ...(useIPv4 ? ['-4'] : []), + ]); server.stdout.pipe(process.stdout); server.stderr.pipe(process.stdout);