diff --git a/test/afl/fuzzing-wrappers/client-rc.sh b/test/afl/fuzzing-wrappers/client-rc.sh index 77f6f101..1895515f 100755 --- a/test/afl/fuzzing-wrappers/client-rc.sh +++ b/test/afl/fuzzing-wrappers/client-rc.sh @@ -17,6 +17,6 @@ mkdir $OUT_DIR ### make sure the client can handle the rc file ./fuzzing-wrappers/fwknop-rc-test.sh || exit -LD_LIBRARY_PATH=$LIB_DIR afl-fuzz -i $IN_DIR -o $OUT_DIR -f $OUT_DIR/fwknoprc $CLIENT --rc-file $OUT_DIR/fwknoprc -T -a 1.1.1.1 -n testhost.com +LD_LIBRARY_PATH=$LIB_DIR afl-fuzz -t 1000 -i $IN_DIR -o $OUT_DIR -f $OUT_DIR/fwknoprc $CLIENT --rc-file $OUT_DIR/fwknoprc -T -a 1.1.1.1 -n testhost.com exit diff --git a/test/afl/fuzzing-wrappers/fwknopd-parse-conf.sh b/test/afl/fuzzing-wrappers/fwknopd-parse-conf.sh new file mode 100755 index 00000000..eb12114e --- /dev/null +++ b/test/afl/fuzzing-wrappers/fwknopd-parse-conf.sh @@ -0,0 +1,3 @@ +#!/bin/sh -x + +LD_LIBRARY_PATH=../../lib/.libs ../../server/.libs/fwknopd -c test-cases/server-conf/fwknopd.conf -a ../conf/default_access.conf -A -f -t --exit-parse-config -D diff --git a/test/afl/fuzzing-wrappers/server-access.sh b/test/afl/fuzzing-wrappers/server-access.sh index a39f57ea..e7968728 100755 --- a/test/afl/fuzzing-wrappers/server-access.sh +++ b/test/afl/fuzzing-wrappers/server-access.sh @@ -17,6 +17,6 @@ mkdir $OUT_DIR ### make sure that parsing the access.conf file works ./fuzzing-wrappers/fwknopd-parse-access.sh || exit -LD_LIBRARY_PATH=$LIB_DIR afl-fuzz -i $IN_DIR -o $OUT_DIR -f $OUT_DIR/afl_access.conf $SERVER -c ../conf/default_fwknopd.conf -a $OUT_DIR/afl_access.conf -A -f -t --exit-parse-config -D +LD_LIBRARY_PATH=$LIB_DIR afl-fuzz -t 1000 -i $IN_DIR -o $OUT_DIR -f $OUT_DIR/afl_access.conf $SERVER -c ../conf/default_fwknopd.conf -a $OUT_DIR/afl_access.conf -A -f -t --exit-parse-config -D exit diff --git a/test/afl/fuzzing-wrappers/server-conf.sh b/test/afl/fuzzing-wrappers/server-conf.sh new file mode 100755 index 00000000..7fe5b6e7 --- /dev/null +++ b/test/afl/fuzzing-wrappers/server-conf.sh @@ -0,0 +1,22 @@ +#!/bin/sh -x + +TOP_DIR="fuzzing-output" +FDIR="server-conf.out" +ARCHIVE_DIR="$TOP_DIR/archive" +OUT_DIR="$TOP_DIR/$FDIR" +IN_DIR="test-cases/server-conf" + +SERVER="../../server/.libs/fwknopd" +LIB_DIR="../../lib/.libs" + +[ ! -d $ARCHIVE_DIR ] && mkdir -p $ARCHIVE_DIR +TS=`date +"%m%d%y%H%M%S"` +[ -d $OUT_DIR ] && mv $OUT_DIR "$ARCHIVE_DIR/$FDIR-$TS" +mkdir $OUT_DIR + +### make sure that parsing the fwknopd.conf file works +./fuzzing-wrappers/fwknopd-parse-conf.sh || exit + +LD_LIBRARY_PATH=$LIB_DIR afl-fuzz -t 1000 -i $IN_DIR -o $OUT_DIR -f $OUT_DIR/afl_fwknopd.conf $SERVER -c $OUT_DIR/afl_fwknopd.conf -a $OUT_DIR/afl_access.conf -A -f -t --exit-parse-config -D + +exit diff --git a/test/afl/fuzzing-wrappers/spa-pkts.sh b/test/afl/fuzzing-wrappers/spa-pkts.sh index 2ef5f896..4bedc0cb 100755 --- a/test/afl/fuzzing-wrappers/spa-pkts.sh +++ b/test/afl/fuzzing-wrappers/spa-pkts.sh @@ -17,6 +17,6 @@ mkdir $OUT_DIR ### make sure that a basic SPA packet to stdin in fwknopd -A mode works ./fuzzing-wrappers/fwknopd-stdin-test.sh || exit -LD_LIBRARY_PATH=$LIB_DIR afl-fuzz -i $IN_DIR -o $OUT_DIR $SERVER -c ../conf/default_fwknopd.conf -a ../conf/default_access.conf -A -f -t +LD_LIBRARY_PATH=$LIB_DIR afl-fuzz -t 1000 -i $IN_DIR -o $OUT_DIR $SERVER -c ../conf/default_fwknopd.conf -a ../conf/default_access.conf -A -f -t exit diff --git a/test/afl/test-cases/server-conf/fwknopd.conf b/test/afl/test-cases/server-conf/fwknopd.conf index f837fd8f..25af65a8 100644 --- a/test/afl/test-cases/server-conf/fwknopd.conf +++ b/test/afl/test-cases/server-conf/fwknopd.conf @@ -1,30 +1,30 @@ -CONFIG_FILE ../conf/default_fwknopd.conf -OVERRIDE_CONFIG ../conf/default_fwknopd.conf +#CONFIG_FILE ../conf/default_fwknopd.conf +#OVERRIDE_CONFIG ../conf/default_fwknopd.conf PCAP_INTF eth0 -PCAP_FILE -ENABLE_PCAP_PROMISC N +#PCAP_FILE +ENABLE_PCAP_PROMISC Y PCAP_FILTER udp port 62201 PCAP_DISPATCH_COUNT 100 PCAP_LOOP_SLEEP 100000 -ENABLE_PCAP_ANY_DIRECTION +ENABLE_PCAP_ANY_DIRECTION Y MAX_SNIFF_BYTES 1500 ENABLE_SPA_PACKET_AGING Y MAX_SPA_PACKET_AGE 120 ENABLE_DIGEST_PERSISTENCE Y -CMD_EXEC_TIMEOUT +CMD_EXEC_TIMEOUT 1 ENABLE_SPA_OVER_HTTP N ENABLE_TCP_SERVER N TCPSERV_PORT 62201 ENABLE_UDP_SERVER N UDPSERV_PORT 62201 UDPSERV_SELECT_TIMEOUT 500000 -LOCALE +LOCALE C SYSLOG_IDENTITY fwknopd SYSLOG_FACILITY LOG_DAEMON ENABLE_IPT_FORWARDING N ENABLE_IPT_LOCAL_NAT Y ENABLE_IPT_SNAT N -SNAT_TRANSLATE_IP +SNAT_TRANSLATE_IP 1.2.3.4 ENABLE_IPT_OUTPUT N FLUSH_IPT_AT_INIT Y FLUSH_IPT_AT_EXIT Y @@ -37,11 +37,11 @@ IPT_MASQUERADE_ACCESS MASQUERADE, nat, POSTROUTING, 1, FWKNOP_POSTROUTING, ENABLE_IPT_COMMENT_CHECK Y FWKNOP_RUN_DIR /var/run/fwknop FWKNOP_CONF_DIR /etc/fwknop -ACCESS_FILE ../conf/default_access.conf +#ACCESS_FILE ../conf/default_access.conf FWKNOP_PID_FILE /var/run/fwknop/fwknopd.pid DIGEST_FILE /var/run/fwknop/digest.cache GPG_HOME_DIR /root/.gnupg GPG_EXE /usr/bin/gpg FIREWALL_EXE /sbin/iptables -VERBOSE -FAULT_INJECTION_TAG +VERBOSE Y +#FAULT_INJECTION_TAG