summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbluhm <bluhm@openbsd.org>2016-12-13 00:19:05 +0000
committerbluhm <bluhm@openbsd.org>2016-12-13 00:19:05 +0000
commit140ee0aa9381e1828ab40a6e4d8390b5ad57956c (patch)
tree392e8f2c0d5fc0553cadd8d4b9eafd9481da1346
parentsync (diff)
downloadwireguard-openbsd-140ee0aa9381e1828ab40a6e4d8390b5ad57956c.tar.xz
wireguard-openbsd-140ee0aa9381e1828ab40a6e4d8390b5ad57956c.zip
Print better error messages in case an expected packet is missing.
-rwxr-xr-xregress/sys/netinet/pmtu/tcp_connect.py12
-rwxr-xr-xregress/sys/netinet/pmtu/tcp_connect6.py12
-rwxr-xr-xregress/sys/netinet/pmtu/udp_echo6.py4
3 files changed, 28 insertions, 0 deletions
diff --git a/regress/sys/netinet/pmtu/tcp_connect.py b/regress/sys/netinet/pmtu/tcp_connect.py
index 09e65341f4f..2e3ea22e02e 100755
--- a/regress/sys/netinet/pmtu/tcp_connect.py
+++ b/regress/sys/netinet/pmtu/tcp_connect.py
@@ -11,11 +11,19 @@ print "Send SYN packet, receive SYN+ACK."
syn=TCP(sport=port, dport='chargen', seq=1, flags='S', window=(2**16)-1)
synack=sr1(ip/syn, iface=LOCAL_IF, timeout=5)
+if synack is None:
+ print "ERROR: no SYN+ACK from chargen server received"
+ exit(1)
+
print "Send ack packet, receive chargen data."
ack=TCP(sport=synack.dport, dport=synack.sport, seq=2, flags='A',
ack=synack.seq+1, window=(2**16)-1)
data=sr1(ip/ack, iface=LOCAL_IF, timeout=5)
+if data is None:
+ print "ERROR: no data from chargen server received"
+ exit(1)
+
print "Fill our receive buffer."
time.sleep(1)
@@ -27,6 +35,10 @@ send(IP(src=LOCAL_ADDR, dst=REMOTE_ADDR)/icmp, iface=LOCAL_IF)
print "Path MTU discovery will resend first data with length 1300."
data=sr1(ip/ack, iface=LOCAL_IF, timeout=5)
+if data is None:
+ print "ERROR: no data retransmit from chargen server received"
+ exit(1)
+
print "Cleanup the other's socket with a reset packet."
rst=TCP(sport=synack.dport, dport=synack.sport, seq=2, flags='AR',
ack=synack.seq+1)
diff --git a/regress/sys/netinet/pmtu/tcp_connect6.py b/regress/sys/netinet/pmtu/tcp_connect6.py
index 3ed8676876b..dec42858368 100755
--- a/regress/sys/netinet/pmtu/tcp_connect6.py
+++ b/regress/sys/netinet/pmtu/tcp_connect6.py
@@ -12,11 +12,19 @@ print "Send SYN packet, receive SYN+ACK."
syn=TCP(sport=port, dport='chargen', seq=1, flags='S', window=(2**16)-1)
synack=srp1(e/ip6/syn, iface=LOCAL_IF, timeout=5)
+if synack is None:
+ print "ERROR: no SYN+ACK from chargen server received"
+ exit(1)
+
print "Send ack packet, receive chargen data."
ack=TCP(sport=synack.dport, dport=synack.sport, seq=2, flags='A',
ack=synack.seq+1, window=(2**16)-1)
data=srp1(e/ip6/ack, iface=LOCAL_IF, timeout=5)
+if data is None:
+ print "ERROR: no data from chargen server received"
+ exit(1)
+
print "Fill our receive buffer."
time.sleep(1)
@@ -27,6 +35,10 @@ sendp(e/IPv6(src=LOCAL_ADDR6, dst=REMOTE_ADDR6)/icmp6, iface=LOCAL_IF)
print "Path MTU discovery will resend first data with length 1300."
data=srp1(e/ip6/ack, iface=LOCAL_IF, timeout=5)
+if data is None:
+ print "ERROR: no data retransmit from chargen server received"
+ exit(1)
+
print "Cleanup the other's socket with a reset packet."
rst=TCP(sport=synack.dport, dport=synack.sport, seq=2, flags='AR',
ack=synack.seq+1)
diff --git a/regress/sys/netinet/pmtu/udp_echo6.py b/regress/sys/netinet/pmtu/udp_echo6.py
index 68dff1d8479..55f86c37072 100755
--- a/regress/sys/netinet/pmtu/udp_echo6.py
+++ b/regress/sys/netinet/pmtu/udp_echo6.py
@@ -16,6 +16,10 @@ data=''.join(random.choice(string.ascii_uppercase + string.ascii_lowercase +
udp=UDP(sport=port, dport='echo')/data
echo=srp1(e/ip6/udp, iface=LOCAL_IF, timeout=5)
+if echo is None:
+ print "ERROR: no UDP answer from echo server received"
+ exit(1)
+
print "Send ICMP6 packet too big packet with MTU 1300."
icmp6=ICMPv6PacketTooBig(mtu=1300)/echo.payload
sendp(e/IPv6(src=LOCAL_ADDR6, dst=REMOTE_ADDR6)/icmp6, iface=LOCAL_IF)