summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2011-01-17 16:17:09 +1100
committerDamien Miller <djm@mindrot.org>2011-01-17 16:17:09 +1100
commit58497780ab22d56ac5216c71f5a20efc1e39ce2e (patch)
tree312f7c1feb15d707cca175244d0f5541becdf5ca
parent0c93adc7c1814b113d25c5e214973a3aa630b0af (diff)
- (djm) [configure.ac regress/agent-getpeereid.sh regress/multiplex.sh]
[regress/sftp-glob.sh regress/test-exec.sh] Rework how feature tests are disabled on platforms that do not support them; add a "config_defined()" shell function that greps for defines in config.h and use them to decide on feature tests. Convert a couple of existing grep's over config.h to use the new function Add a define "FILESYSTEM_NO_BACKSLASH" for filesystem that can't represent backslash characters in filenames, enable it for Cygwin and use it to turn of tests for quotes backslashes in sftp-glob.sh. based on discussion with vinschen AT redhat.com and dtucker@; ok dtucker@
-rw-r--r--ChangeLog10
-rw-r--r--configure.ac5
-rw-r--r--regress/agent-getpeereid.sh5
-rw-r--r--regress/multiplex.sh3
-rw-r--r--regress/sftp-glob.sh23
-rw-r--r--regress/test-exec.sh11
6 files changed, 41 insertions, 16 deletions
diff --git a/ChangeLog b/ChangeLog
index e64a550f1..c6c6cb955 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -9,6 +9,16 @@
9 - (dtucker) [openbsd-compat/port-linux.c] Bug #1838: Add support for the new 9 - (dtucker) [openbsd-compat/port-linux.c] Bug #1838: Add support for the new
10 Linux OOM-killer magic values that changed in 2.6.36 kernels, with fallback 10 Linux OOM-killer magic values that changed in 2.6.36 kernels, with fallback
11 to the old values. Feedback from vapier at gentoo org and djm, ok djm. 11 to the old values. Feedback from vapier at gentoo org and djm, ok djm.
12 - (djm) [configure.ac regress/agent-getpeereid.sh regress/multiplex.sh]
13 [regress/sftp-glob.sh regress/test-exec.sh] Rework how feature tests are
14 disabled on platforms that do not support them; add a "config_defined()"
15 shell function that greps for defines in config.h and use them to decide
16 on feature tests.
17 Convert a couple of existing grep's over config.h to use the new function
18 Add a define "FILESYSTEM_NO_BACKSLASH" for filesystem that can't represent
19 backslash characters in filenames, enable it for Cygwin and use it to turn
20 of tests for quotes backslashes in sftp-glob.sh.
21 based on discussion with vinschen AT redhat.com and dtucker@; ok dtucker@
12 22
1320110116 2320110116
14 - (dtucker) [Makefile.in configure.ac regress/kextype.sh] Skip sha256-based 24 - (dtucker) [Makefile.in configure.ac regress/kextype.sh] Skip sha256-based
diff --git a/configure.ac b/configure.ac
index 1817dd909..02e8423c0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,4 +1,4 @@
1# $Id: configure.ac,v 1.465 2011/01/16 07:28:12 dtucker Exp $ 1# $Id: configure.ac,v 1.466 2011/01/17 05:17:09 djm Exp $
2# 2#
3# Copyright (c) 1999-2004 Damien Miller 3# Copyright (c) 1999-2004 Damien Miller
4# 4#
@@ -15,7 +15,7 @@
15# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 15# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 16
17AC_INIT(OpenSSH, Portable, openssh-unix-dev@mindrot.org) 17AC_INIT(OpenSSH, Portable, openssh-unix-dev@mindrot.org)
18AC_REVISION($Revision: 1.465 $) 18AC_REVISION($Revision: 1.466 $)
19AC_CONFIG_SRCDIR([ssh.c]) 19AC_CONFIG_SRCDIR([ssh.c])
20 20
21# local macros 21# local macros
@@ -483,6 +483,7 @@ int main(void) { exit(0); }
483 [Define if your platform needs to skip post auth 483 [Define if your platform needs to skip post auth
484 file descriptor passing]) 484 file descriptor passing])
485 AC_DEFINE(SSH_IOBUFSZ, 65535, [Windows is sensitive to read buffer size]) 485 AC_DEFINE(SSH_IOBUFSZ, 65535, [Windows is sensitive to read buffer size])
486 AC_DEFINE(FILESYSTEM_NO_BACKSLASH, 1, [File names may not contain backslash characters])
486 ;; 487 ;;
487*-*-dgux*) 488*-*-dgux*)
488 AC_DEFINE(IP_TOS_IS_BROKEN, 1, 489 AC_DEFINE(IP_TOS_IS_BROKEN, 1,
diff --git a/regress/agent-getpeereid.sh b/regress/agent-getpeereid.sh
index 22276a29d..f5f5ba55a 100644
--- a/regress/agent-getpeereid.sh
+++ b/regress/agent-getpeereid.sh
@@ -7,10 +7,7 @@ UNPRIV=nobody
7ASOCK=${OBJ}/agent 7ASOCK=${OBJ}/agent
8SSH_AUTH_SOCK=/nonexistent 8SSH_AUTH_SOCK=/nonexistent
9 9
10if grep "#undef.*HAVE_GETPEEREID" ${BUILDDIR}/config.h >/dev/null 2>&1 && \ 10if ! config_defined HAVE_GETPEEREID HAVE_GETPEERUCRED HAVE_SO_PEERCRED ; then
11 grep "#undef.*HAVE_GETPEERUCRED" ${BUILDDIR}/config.h >/dev/null && \
12 grep "#undef.*HAVE_SO_PEERCRED" ${BUILDDIR}/config.h >/dev/null
13then
14 echo "skipped (not supported on this platform)" 11 echo "skipped (not supported on this platform)"
15 exit 0 12 exit 0
16fi 13fi
diff --git a/regress/multiplex.sh b/regress/multiplex.sh
index 8a98a6e54..b94cdf02f 100644
--- a/regress/multiplex.sh
+++ b/regress/multiplex.sh
@@ -5,8 +5,7 @@ CTL=/tmp/openssh.regress.ctl-sock.$$
5 5
6tid="connection multiplexing" 6tid="connection multiplexing"
7 7
8if grep "#define.*DISABLE_FD_PASSING" ${BUILDDIR}/config.h >/dev/null 2>&1 8if config_defined DISABLE_FD_PASSING ; then
9then
10 echo "skipped (not supported on this platform)" 9 echo "skipped (not supported on this platform)"
11 exit 0 10 exit 0
12fi 11fi
diff --git a/regress/sftp-glob.sh b/regress/sftp-glob.sh
index 72bb17d75..8d4df2c98 100644
--- a/regress/sftp-glob.sh
+++ b/regress/sftp-glob.sh
@@ -3,11 +3,18 @@
3 3
4tid="sftp glob" 4tid="sftp glob"
5 5
6config_defined FILESYSTEM_NO_BACKSLASH && nobs="not supported on this platform"
7
6sftp_ls() { 8sftp_ls() {
7 target=$1 9 target=$1
8 errtag=$2 10 errtag=$2
9 expected=$3 11 expected=$3
10 unexpected=$4 12 unexpected=$4
13 skip=$5
14 if test "x$skip" != "x" ; then
15 verbose "$tid: $errtag (skipped: $skip)"
16 return
17 fi
11 verbose "$tid: $errtag" 18 verbose "$tid: $errtag"
12 printf "ls -l %s" "${target}" | \ 19 printf "ls -l %s" "${target}" | \
13 ${SFTP} -b - -D ${SFTPSERVER} 2>/dev/null | \ 20 ${SFTP} -b - -D ${SFTPSERVER} 2>/dev/null | \
@@ -44,8 +51,8 @@ SPACE="${DIR}/g-q space"
44 51
45rm -rf ${BASE} 52rm -rf ${BASE}
46mkdir -p ${DIR} 53mkdir -p ${DIR}
47touch "${DATA}" "${GLOB1}" "${GLOB2}" "${QUOTE}" 54touch "${DATA}" "${GLOB1}" "${GLOB2}" "${QUOTE}" "${SPACE}"
48touch "${QSLASH}" "${ESLASH}" "${SLASH}" "${SPACE}" 55test "x$nobs" = "x" && touch "${QSLASH}" "${ESLASH}" "${SLASH}"
49 56
50# target message expected unexpected 57# target message expected unexpected
51sftp_ls "${DIR}/fil*" "file glob" "${DATA}" "" 58sftp_ls "${DIR}/fil*" "file glob" "${DATA}" ""
@@ -55,14 +62,14 @@ sftp_ls "${DIR}/g-wild\*" "escaped glob" "g-wild*" "g-wildx"
55sftp_ls "${DIR}/g-quote\\\"" "escaped quote" "g-quote\"" "" 62sftp_ls "${DIR}/g-quote\\\"" "escaped quote" "g-quote\"" ""
56sftp_ls "\"${DIR}/g-quote\\\"\"" "quoted quote" "g-quote\"" "" 63sftp_ls "\"${DIR}/g-quote\\\"\"" "quoted quote" "g-quote\"" ""
57sftp_ls "'${DIR}/g-quote\"'" "single-quoted quote" "g-quote\"" "" 64sftp_ls "'${DIR}/g-quote\"'" "single-quoted quote" "g-quote\"" ""
58sftp_ls "${DIR}/g-sl\\\\ash" "escaped slash" "g-sl\\ash" ""
59sftp_ls "'${DIR}/g-sl\\\\ash'" "quoted slash" "g-sl\\ash" ""
60sftp_ls "${DIR}/g-slash\\\\" "escaped slash at EOL" "g-slash\\" ""
61sftp_ls "'${DIR}/g-slash\\\\'" "quoted slash at EOL" "g-slash\\" ""
62sftp_ls "${DIR}/g-qs\\\\\\\"" "escaped slash+quote" "g-qs\\\"" ""
63sftp_ls "'${DIR}/g-qs\\\\\"'" "quoted slash+quote" "g-qs\\\"" ""
64sftp_ls "${DIR}/g-q\\ space" "escaped space" "g-q space" "" 65sftp_ls "${DIR}/g-q\\ space" "escaped space" "g-q space" ""
65sftp_ls "'${DIR}/g-q space'" "quoted space" "g-q space" "" 66sftp_ls "'${DIR}/g-q space'" "quoted space" "g-q space" ""
67sftp_ls "${DIR}/g-sl\\\\ash" "escaped slash" "g-sl\\ash" "" "$nobs"
68sftp_ls "'${DIR}/g-sl\\\\ash'" "quoted slash" "g-sl\\ash" "" "$nobs"
69sftp_ls "${DIR}/g-slash\\\\" "escaped slash at EOL" "g-slash\\" "" "$nobs"
70sftp_ls "'${DIR}/g-slash\\\\'" "quoted slash at EOL" "g-slash\\" "" "$nobs"
71sftp_ls "${DIR}/g-qs\\\\\\\"" "escaped slash+quote" "g-qs\\\"" "" "$nobs"
72sftp_ls "'${DIR}/g-qs\\\\\"'" "quoted slash+quote" "g-qs\\\"" "" "$nobs"
66 73
67rm -rf ${BASE} 74rm -rf ${BASE}
68 75
diff --git a/regress/test-exec.sh b/regress/test-exec.sh
index b64dcdbcf..5c56aefff 100644
--- a/regress/test-exec.sh
+++ b/regress/test-exec.sh
@@ -221,6 +221,17 @@ fatal ()
221 exit $RESULT 221 exit $RESULT
222} 222}
223 223
224# Check whether preprocessor symbols are defined in config.h.
225config_defined ()
226{
227 str=$1
228 while test "x$2" != "x" ; do
229 str="$str|$2"
230 shift
231 done
232 egrep "^#define.*($str)" ${BUILDDIR}/config.h >/dev/null 2>&1
233}
234
224RESULT=0 235RESULT=0
225PIDFILE=$OBJ/pidfile 236PIDFILE=$OBJ/pidfile
226 237