else
CERTARGS="--sslkey ${KEY} --key-password password -c ${KEY%-key-*}-cert.pem"
fi
- ( echo "test" | LD_PRELOAD=libsocket_wrapper.so $OPENCONNECT -q $ADDRESS:443 -u test $CERTARGS --servercert=pin-sha256:xp3scfzy3rO --cookieonly --passwd-on-stdin --allow-insecure-crypto ) ||
+ ( echo "test" | LD_PRELOAD=libsocket_wrapper.so $OPENCONNECT -q $SWRESOLVE sockwrap:443 -u test $CERTARGS --servercert=pin-sha256:xp3scfzy3rO --cookieonly --passwd-on-stdin --allow-insecure-crypto ) ||
fail $PID "Could not connect with key ${KEY##*/}!"
done
if [ ! -r "$CERT" ]; then CERT="${certdir}/$CERT"; fi
CERTARGS="--sslkey ${KEY} -c ${CERT}"
fi
- if ! echo "test" | LD_PRELOAD=libsocket_wrapper.so $OPENCONNECT -q $ADDRESS:443 -u test $CERTARGS --servercert=pin-sha256:xp3scfzy3rO --cookieonly -vvvvv --passwd-on-stdin; then
+ if ! echo "test" | LD_PRELOAD=libsocket_wrapper.so $OPENCONNECT -q $SWRESOLVE sockwrap:443 -u test $CERTARGS --servercert=pin-sha256:xp3scfzy3rO --cookieonly -vvvvv --passwd-on-stdin; then
fail $PID "Could not connect with key ${KEY##*/}!"
fi
done
( echo "test" | LD_PRELOAD=libsocket_wrapper.so $OPENCONNECT --cafile $CAFILE \
--certificate $USERCERT --sslkey $USERKEY \
--mca-certificate $USERCERT --mca-key $USERKEY \
- -q $ADDRESS:443 $FINGERPRINT --authenticate >/dev/null 2>&1) ||
+ -q $SWRESOLVE sockwrap:443 $FINGERPRINT --authenticate >/dev/null 2>&1) ||
fail $PID "Could not receive cookie from fake Cisco server"
echo ok
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_ALL=cs_CZ.${CHARSET} LD_PRELOAD=libsocket_wrapper.so $OPENCONNECT -q $ADDRESS:443 -u test $CERTARGS --servercert=pin-sha256:xp3scfzy3rO --cookieonly --passwd-on-stdin ) ||
+ ( echo "test" | LC_ALL=cs_CZ.${CHARSET} LD_PRELOAD=libsocket_wrapper.so $OPENCONNECT -q $SWRESOLVE sockwrap:443 -u test $CERTARGS --servercert=pin-sha256:xp3scfzy3rO --cookieonly --passwd-on-stdin ) ||
fail $PID "Could not connect with charset ${CHARSET}!"
done
echo -n "Connecting to obtain cookie (token ${TOKEN} key ${KEY})... "
CERTURI="pkcs11:token=${TOKEN};${KEY};pin-value=1234"
( echo "test" | SOFTHSM2_CONF=softhsm2.conf LD_PRELOAD=libsocket_wrapper.so \
- $OPENCONNECT -q $ADDRESS:443 -u test -c "${CERTURI}" --key-password 1234 --servercert=pin-sha256:xp3scfzy3rO --cookieonly --passwd-on-stdin ) ||
+ $OPENCONNECT -q $SWRESOLVE sockwrap:443 -u test -c "${CERTURI}" --key-password 1234 --servercert=pin-sha256:xp3scfzy3rO --cookieonly --passwd-on-stdin ) ||
fail $PID "Could not connect with token ${TOKEN} key ${KEY##*/}!"
done
done
if [ ! -r "$CERT" ]; then CERT="${certdir}/$CERT"; fi
CERTARGS="--sslkey ${KEY} -c ${CERT}"
fi
- if ! echo "test" | LD_PRELOAD=libsocket_wrapper.so $OPENCONNECT -q $ADDRESS:443 -u test $CERTARGS --servercert=pin-sha256:xp3scfzy3rO --cookieonly -vvvvv --passwd-on-stdin; then
+ if ! echo "test" | LD_PRELOAD=libsocket_wrapper.so $OPENCONNECT -q $SWRESOLVE sockwrap:443 -u test $CERTARGS --servercert=pin-sha256:xp3scfzy3rO --cookieonly -vvvvv --passwd-on-stdin; then
LD_PRELOAD=libsocket_wrapper.so ${SWTPM_IOCTL} --tcp 127.0.0.1:2322 -s
fail $PID "Could not connect with key ${KEY##*/}!"
fi
wait_server $PID
echo -n "Connecting to obtain cookie... "
-( echo "test" | LD_PRELOAD=libsocket_wrapper.so $OPENCONNECT -q $ADDRESS:443 -u test --servercert=pin-sha256:xp3scfzy3rO --cookieonly >/dev/null 2>&1) ||
+( echo "test" | LD_PRELOAD=libsocket_wrapper.so $OPENCONNECT -q $SWRESOLVE sockwrap:443 -u test --servercert=pin-sha256:xp3scfzy3rO --cookieonly >/dev/null 2>&1) ||
fail $PID "Could not receive cookie from server"
echo ok
echo -n "Connecting to obtain cookie with wrong password... "
-( echo "tost" | LD_PRELOAD=libsocket_wrapper.so $OPENCONNECT -q $ADDRESS:443 -u test --servercert=pin-sha256:xp3scfzy3rO --cookieonly >/dev/null 2>&1) &&
+( echo "tost" | LD_PRELOAD=libsocket_wrapper.so $OPENCONNECT -q $SWRESOLVE sockwrap:443 -u test --servercert=pin-sha256:xp3scfzy3rO --cookieonly >/dev/null 2>&1) &&
fail $PID "Received cookie when we shouldn't"
echo ok
#test special characters
echo -n "Connecting to obtain cookie... "
-( echo "!@#$%^&*()<>" | LD_PRELOAD=libsocket_wrapper.so $OPENCONNECT -q $ADDRESS:443 -u "sp@c/al" --servercert=pin-sha256:xp3scfzy3rO --cookieonly >/dev/null 2>&1 ) ||
+( echo "!@#$%^&*()<>" | LD_PRELOAD=libsocket_wrapper.so $OPENCONNECT -q $SWRESOLVE sockwrap:443 -u "sp@c/al" --servercert=pin-sha256:xp3scfzy3rO --cookieonly >/dev/null 2>&1 ) ||
fail $PID "Could not receive cookie from server"
echo ok
echo -n "Connecting to obtain cookie with empty password... "
-( echo "" | LD_PRELOAD=libsocket_wrapper.so $OPENCONNECT -q $ADDRESS:443 -u "empty" --servercert=pin-sha256:xp3scfzy3rO --cookieonly >/dev/null 2>&1 ) ||
+( echo "" | LD_PRELOAD=libsocket_wrapper.so $OPENCONNECT -q $SWRESOLVE sockwrap:443 -u "empty" --servercert=pin-sha256:xp3scfzy3rO --cookieonly >/dev/null 2>&1 ) ||
fail $PID "Could not receive cookie from server"
echo ok
expect_cert_fail() {
SERVERCERT=$1
echo -n "Testing with cert fingerprint $SERVERCERT..."
- ( echo "test" | LD_PRELOAD=libsocket_wrapper.so $OPENCONNECT -q $ADDRESS:443 -u test --servercert $SERVERCERT --cookieonly >/dev/null 2>&1) &&
+ ( echo "test" | LD_PRELOAD=libsocket_wrapper.so $OPENCONNECT -q $SWRESOLVE sockwrap:443 -u test --servercert $SERVERCERT --cookieonly >/dev/null 2>&1) &&
fail $PID "Accepted wrong fingerprint $SERVERCERT"
echo "ok (rejected)"
expect_cert_success() {
SERVERCERT=$1
echo -n "Testing with cert fingerprint $SERVERCERT..."
- ( echo "test" | LD_PRELOAD=libsocket_wrapper.so $OPENCONNECT -q $ADDRESS:443 -u test --servercert $SERVERCERT --cookieonly >/dev/null 2>&1) ||
+ ( echo "test" | LD_PRELOAD=libsocket_wrapper.so $OPENCONNECT -q $SWRESOLVE sockwrap:443 -u test --servercert $SERVERCERT --cookieonly >/dev/null 2>&1) ||
fail $PID "Rejected good fingerprint $SERVERCERT"
echo "ok (accepted)"
export SOCKET_WRAPPER_DIR=$SOCKDIR
export SOCKET_WRAPPER_DEFAULT_IFACE=2
ADDRESS=127.0.0.$SOCKET_WRAPPER_DEFAULT_IFACE
+SWRESOLVE="--resolve sockwrap:fd00::5357:5f0$SOCKET_WRAPPER_DEFAULT_IFACE --resolve sockwrap:127.0.0.$SOCKET_WRAPPER_DEFAULT_IFACE"
OPENCONNECT="${OPENCONNECT:-${top_builddir}/openconnect}"${EXEEXT}
LOGFILE="$SOCKDIR/log.$$.tmp"
OCCTL_SOCKET="${OCCTL_SOCKET:-./occtl-comp-$$.socket}"
# the config packets exchanged, causing retries and leading to a longer negotiation period.
# [use `socat -x` for a hex log of I/O to/from the connected sockets]
- LD_PRELOAD=libsocket_wrapper.so socat -t 120 -T 120 -4 -d -d \
+ LD_PRELOAD=libsocket_wrapper.so socat -t 120 -T 120 -d -d \
SYSTEM:"LD_PRELOAD= $SUDO $PPPD noauth local debug nodefaultroute logfile '$LOGFILE' $*",pty,raw,echo=0 \
OPENSSL-LISTEN:443,verify=0,cert="$CERT",key="$KEY" 2>&1 &
PID=$!
wait_server $PID
echo -n "Connecting with legacy hash... "
-( echo "test" | LD_PRELOAD=libsocket_wrapper.so $OPENCONNECT -q $ADDRESS:443 -u test --servercert=e597837de5390ba6eaa0f9d656f035c8be6ec02b --cookieonly >/dev/null 2>&1) ||
+( echo "test" | LD_PRELOAD=libsocket_wrapper.so $OPENCONNECT -q $SWRESOLVE sockwrap:443 -u test --servercert=e597837de5390ba6eaa0f9d656f035c8be6ec02b --cookieonly >/dev/null 2>&1) ||
fail $PID "Could not receive cookie from server"
echo ok
echo -n "Connecting with SHA1 ID... "
-( echo "test" | LD_PRELOAD=libsocket_wrapper.so $OPENCONNECT -q $ADDRESS:443 -u test --servercert=sha1:a82547f68f44d6351bef6cacd1d7b96e84f9dfa3 --cookieonly >/dev/null 2>&1) ||
+( echo "test" | LD_PRELOAD=libsocket_wrapper.so $OPENCONNECT -q $SWRESOLVE sockwrap:443 -u test --servercert=sha1:a82547f68f44d6351bef6cacd1d7b96e84f9dfa3 --cookieonly >/dev/null 2>&1) ||
fail $PID "Could not receive cookie from server"
echo ok
echo -n "Connecting with SHA256 ID... "
-( echo "test" | LD_PRELOAD=libsocket_wrapper.so $OPENCONNECT -q $ADDRESS:443 -u test --servercert=sha256:c69dec71fcf2deb390b2ff4d70ebdeffc61556ffa91ebe2a3425c45eb365e6cf --cookieonly >/dev/null 2>&1) ||
+( echo "test" | LD_PRELOAD=libsocket_wrapper.so $OPENCONNECT -q $SWRESOLVE sockwrap:443 -u test --servercert=sha256:c69dec71fcf2deb390b2ff4d70ebdeffc61556ffa91ebe2a3425c45eb365e6cf --cookieonly >/dev/null 2>&1) ||
fail $PID "Could not receive cookie from server"
echo ok
echo -n "Connecting with SHA256 partial ID... "
-( echo "test" | LD_PRELOAD=libsocket_wrapper.so $OPENCONNECT -q $ADDRESS:443 -u test --servercert=sha256:c69dec --cookieonly >/dev/null 2>&1) ||
+( echo "test" | LD_PRELOAD=libsocket_wrapper.so $OPENCONNECT -q $SWRESOLVE sockwrap:443 -u test --servercert=sha256:c69dec --cookieonly >/dev/null 2>&1) ||
fail $PID "Could not receive cookie from server"
echo ok
echo -n "Connecting with wrong SHA256 ID... "
-( echo "test" | LD_PRELOAD=libsocket_wrapper.so $OPENCONNECT -q $ADDRESS:443 -u test --servercert=sha256:c69ded --cookieonly >/dev/null 2>&1) &&
+( echo "test" | LD_PRELOAD=libsocket_wrapper.so $OPENCONNECT -q $SWRESOLVE sockwrap:443 -u test --servercert=sha256:c69ded --cookieonly >/dev/null 2>&1) &&
fail $PID "Did connect to the server with wrong ID"
echo ok
wait_server $PID
echo -n "Connecting without --allow-insecure-crypto... "
-( echo "test" | LD_PRELOAD=libsocket_wrapper.so $OPENCONNECT -q $ADDRESS:$PORT -u test --servercert=pin-sha256:xp3scfzy3rO --cookieonly >/dev/null 2>&1) &&
+( echo "test" | LD_PRELOAD=libsocket_wrapper.so $OPENCONNECT -q $SWRESOLVE sockwrap:$PORT -u test --servercert=pin-sha256:xp3scfzy3rO --cookieonly >/dev/null 2>&1) &&
fail $PID "Connected successfully when we shouldn't"
echo ok
echo -n "Connecting with --allow-insecure-crypto... "
-( echo "test" | LD_PRELOAD=libsocket_wrapper.so $OPENCONNECT -q $ADDRESS:$PORT -u test --servercert=pin-sha256:xp3scfzy3rO --allow-insecure-crypto --cookieonly >/dev/null 2>&1) ||
+( echo "test" | LD_PRELOAD=libsocket_wrapper.so $OPENCONNECT -q $SWRESOLVE sockwrap:$PORT -u test --servercert=pin-sha256:xp3scfzy3rO --allow-insecure-crypto --cookieonly >/dev/null 2>&1) ||
fail $PID "Could not connect and obtain cookie with --allow-insecure-crypto"
echo ok
wait_server $PID
echo -n "Connecting with --pfs... "
-( echo "test" | LD_PRELOAD=libsocket_wrapper.so $OPENCONNECT -q $ADDRESS:$PORT -u test --servercert=pin-sha256:xp3scfzy3rO --pfs --cookieonly >/dev/null 2>&1) &&
+( echo "test" | LD_PRELOAD=libsocket_wrapper.so $OPENCONNECT -q $SWRESOLVE sockwrap:$PORT -u test --servercert=pin-sha256:xp3scfzy3rO --pfs --cookieonly >/dev/null 2>&1) &&
fail $PID "Connected successfully when we shouldn't"
echo ok
echo -n "Connecting without --pfs... "
-( echo "test" | LD_PRELOAD=libsocket_wrapper.so $OPENCONNECT -q $ADDRESS:$PORT -u test --servercert=pin-sha256:xp3scfzy3rO --cookieonly >/dev/null 2>&1) ||
+( echo "test" | LD_PRELOAD=libsocket_wrapper.so $OPENCONNECT -q $SWRESOLVE sockwrap:$PORT -u test --servercert=pin-sha256:xp3scfzy3rO --cookieonly >/dev/null 2>&1) ||
fail $PID "Could not connect and obtain cookie without --pfs"
echo ok
wait_server "$PID"
echo -n "Connecting to it with openconnect --protocol=nullppp... "
start=$(date +%s)
-LD_PRELOAD=libsocket_wrapper.so $OPENCONNECT -q --protocol=nullppp $ADDRESS:443 -u test $FINGERPRINT --cookie "hdlc,term" -Ss '' >/dev/null 2>&1
+LD_PRELOAD=libsocket_wrapper.so $OPENCONNECT -q --protocol=nullppp $SWRESOLVE sockwrap:443 -u test $FINGERPRINT --cookie "hdlc,term" -Ss '' >/dev/null 2>&1
took=$(( $(date +%s) - start ))
if grep -qF "$IPV4_SUCCESS_1" $LOGFILE && grep -qF "$IPV4_SUCCESS_2" $LOGFILE && grep -qF "$IPV6_SUCCESS_1" $LOGFILE && grep -qF "$IPV6_SUCCESS_2" $LOGFILE; then
echo "ok (took $took seconds)"
wait_server "$PID"
echo -n "Connecting to it with openconnect --protocol=nullppp... "
start=$(date +%s)
-LD_PRELOAD=libsocket_wrapper.so $OPENCONNECT -q --protocol=nullppp $ADDRESS:443 -u test $FINGERPRINT --cookie "hdlc,term" -Ss '' >/dev/null 2>&1
+LD_PRELOAD=libsocket_wrapper.so $OPENCONNECT -q --protocol=nullppp $SWRESOLVE sockwrap:443 -u test $FINGERPRINT --cookie "hdlc,term" -Ss '' >/dev/null 2>&1
took=$(( $(date +%s) - start ))
if grep -qF "$IPV4_SUCCESS_1" $LOGFILE && grep -qF "$IPV4_SUCCESS_2" $LOGFILE && grep -qF "$IPV6_SUCCESS_1" $LOGFILE && grep -qF "$IPV6_SUCCESS_2" $LOGFILE; then
echo "ok (took $took seconds)"
wait_server "$PID"
echo -n "Connecting to it with openconnect --protocol=nullppp... "
start=$(date +%s)
-LD_PRELOAD=libsocket_wrapper.so $OPENCONNECT -q --protocol=nullppp $ADDRESS:443 -u test $FINGERPRINT --cookie "hdlc,term" -Ss '' >/dev/null 2>&1
+LD_PRELOAD=libsocket_wrapper.so $OPENCONNECT -q --protocol=nullppp $SWRESOLVE sockwrap:443 -u test $FINGERPRINT --cookie "hdlc,term" -Ss '' >/dev/null 2>&1
took=$(( $(date +%s) - start ))
if grep -qF "$IPV4_SUCCESS_1" $LOGFILE && grep -qF "$IPV4_SUCCESS_2" $LOGFILE; then
echo "ok (took $took seconds)"
wait_server "$PID"
echo -n "Connecting to it with openconnect --protocol=nullppp... "
start=$(date +%s)
-LD_PRELOAD=libsocket_wrapper.so $OPENCONNECT -q --protocol=nullppp $ADDRESS:443 -u test $FINGERPRINT --cookie "hdlc" -Ss '' >/dev/null 2>&1
+LD_PRELOAD=libsocket_wrapper.so $OPENCONNECT -q --protocol=nullppp $SWRESOLVE sockwrap:443 -u test $FINGERPRINT --cookie "hdlc" -Ss '' >/dev/null 2>&1
took=$(( $(date +%s) - start ))
if grep -qF "$IPV6_SUCCESS_1" $LOGFILE && grep -qF "$IPV6_SUCCESS_2" $LOGFILE; then
echo "ok (took $took seconds)"