]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
skip IPv6-related portions on hosts without IPv6
authorDamien Miller <djm@mindrot.org>
Tue, 30 Jun 2015 06:05:40 +0000 (16:05 +1000)
committerDamien Miller <djm@mindrot.org>
Tue, 30 Jun 2015 06:05:40 +0000 (16:05 +1000)
with Tim Rice

regress/cfgparse.sh

index 7f377d887c7b605c98d3a257c9f845658a798c77..736f38976d264a9ba9864392fbe655888e700cc2 100644 (file)
@@ -3,6 +3,11 @@
 
 tid="config parse"
 
+# This is a reasonable proxy for IPv6 support.
+if ! config_defined HAVE_STRUCT_IN6_ADDR ; then
+       SKIP_IPV6=yes
+fi
+
 # We need to use the keys generated for the regression test because sshd -T
 # will fail if we're not running with SUDO (no permissions for real keys) or
 # if we are # running tests on a system that has never had sshd installed
@@ -26,9 +31,12 @@ verbose "listenaddress order"
 cat > $OBJ/sshd_config.0 <<EOD
 listenaddress 1.2.3.4:1234
 listenaddress 1.2.3.4:5678
+EOD
+[ X${SKIP_IPV6} = Xyes ] || cat >> $OBJ/sshd_config.0 <<EOD
 listenaddress [::1]:1234
 listenaddress [::1]:5678
 EOD
+
 # test input sets.  should all result in the output above.
 # test 1: addressfamily and port first
 cat > $OBJ/sshd_config.1 <<EOD
@@ -37,8 +45,11 @@ addressfamily any
 port 1234
 port 5678
 listenaddress 1.2.3.4
+EOD
+[ X${SKIP_IPV6} = Xyes ] || cat >> $OBJ/sshd_config.1 <<EOD
 listenaddress ::1
 EOD
+
 ($SUDO ${SSHD} -T -f $OBJ/sshd_config.1 | \
  grep 'listenaddress ' >$OBJ/sshd_config.2 &&
  diff $OBJ/sshd_config.0 $OBJ/sshd_config.2) || \
@@ -47,11 +58,14 @@ EOD
 cat > $OBJ/sshd_config.1 <<EOD
 ${SSHD_KEYS}
 listenaddress 1.2.3.4
-listenaddress ::1
 port 1234
 port 5678
 addressfamily any
 EOD
+[ X${SKIP_IPV6} = Xyes ] || cat >> $OBJ/sshd_config.1 <<EOD
+listenaddress ::1
+EOD
+
 ($SUDO ${SSHD} -T -f $OBJ/sshd_config.1 | \
  grep 'listenaddress ' >$OBJ/sshd_config.2 &&
  diff $OBJ/sshd_config.0 $OBJ/sshd_config.2) || \