auth-nonascii test fails or segfaults depending on system environment

Mike Miller mtmiller at debian.org
Mon Jul 10 16:29:44 PDT 2017


Hi,

I noticed that the recently added test "auth-nonascii" fails as
currently written under a handful of different system configurations.

In short, I think using LC_CTYPE in the script is not a strong enough
constraint, because the caller's LC_ALL may override it if set. Using
LC_ALL as in the following patch fixes this for me.

diff --git a/tests/auth-nonascii b/tests/auth-nonascii
index d930b117d29c..1da8de25464a 100755
--- a/tests/auth-nonascii
+++ b/tests/auth-nonascii
@@ -34,7 +34,7 @@ set -x
 for CHARSET in UTF-8 ISO8859-2; do
     echo -n "Connecting to obtain cookie (with password charset ${CHARSET})... "
     CERTARGS="-c ${KEY} --key-password $(cat ${srcdir}/pass-${CHARSET})"
-    ( echo "test" | LC_CTYPE=cs_CZ.${CHARSET} LD_PRELOAD=libsocket_wrapper.so $OPENCONNECT -q $ADDRESS:443 -u test $CERTARGS --servercert=d66b507ae074d03b02eafca40d35f87dd81049d3 --cookieonly --passwd-on-stdin ) ||
+    ( echo "test" | LC_ALL=cs_CZ.${CHARSET} LD_PRELOAD=libsocket_wrapper.so $OPENCONNECT -q $ADDRESS:443 -u test $CERTARGS --servercert=d66b507ae074d03b02eafca40d35f87dd81049d3 --cookieonly --passwd-on-stdin ) ||
 	fail $PID "Could not connect with charset ${CHARSET}!"
 done
 

I think it's also worth reporting that OpenConnect segfaults if the
cs_CZ locales are not available on the system when this test runs,
either with or without this change:

  iconv: Invalid or incomplete multibyte or wide character
  *** Error in `/.../.libs/openconnect': free(): invalid pointer: 0x00007ffe53d2d7e4 ***
  free called from load_pkcs12_certificate at gnutls.c:526

-- 
mike



More information about the openconnect-devel mailing list