├── .gitignore ├── LICENSE.md ├── Makefile ├── README.md ├── double-check.sh ├── fast-open ├── README.md ├── client │ ├── all-fast-open-client-tests │ ├── client-handle-cookie-reject-of-length-01.pkt │ ├── client-handle-cookie-reject-of-length-02.pkt │ ├── client-handle-cookie-reject-of-length-03.pkt │ ├── client-handle-cookie-reject-of-length-04.pkt │ ├── client-handle-cookie-reject-of-length-05.pkt │ ├── client-handle-cookie-reject-of-length-06.pkt │ ├── client-handle-cookie-reject-of-length-07.pkt │ ├── client-handle-cookie-reject-of-length-08.pkt │ ├── client-handle-cookie-reject-of-length-09.pkt │ ├── client-handle-cookie-reject-of-length-10.pkt │ ├── client-handle-cookie-reject-of-length-11.pkt │ ├── client-handle-cookie-reject-of-length-12.pkt │ ├── client-handle-cookie-reject-of-length-13.pkt │ ├── client-handle-cookie-reject-of-length-14.pkt │ ├── client-handle-cookie-reject-of-length-15.pkt │ ├── client-handle-cookie-reject-of-length-16.pkt │ ├── client-handle-cookie-reject-of-length-17.pkt │ ├── client-handle-cookie-reject-of-length-18.pkt │ ├── client-handle-cookie-reject-of-length-19.pkt │ ├── client-handle-cookie-reject-of-length-20.pkt │ ├── client-handle-cookie-reject-of-length-21.pkt │ ├── client-handle-cookie-reject-of-length-22.pkt │ ├── client-handle-cookie-reject-of-length-23.pkt │ ├── client-handle-cookie-reject-of-length-24.pkt │ ├── client-handle-cookie-reject-of-length-25.pkt │ ├── client-handle-cookie-reject-of-length-26.pkt │ ├── client-handle-cookie-reject-of-length-27.pkt │ ├── client-handle-cookie-reject-of-length-28.pkt │ ├── client-handle-cookie-reject-of-length-29.pkt │ ├── client-handle-cookie-reject-of-length-30.pkt │ ├── client-handle-cookie-reject-of-length-31.pkt │ ├── client-handle-cookie-reject-of-length-32.pkt │ ├── client-handle-cookie-reject-of-length-33.pkt │ ├── client-handle-cookie-reject-of-length-34.pkt │ ├── client-handle-cookie-reject-of-length-35.pkt │ ├── client-handle-cookie-reject-of-length-36.pkt │ ├── client-handle-cookie-reject-of-length-37.pkt │ ├── client-handle-cookie-reject-of-length-38.pkt │ ├── client-handle-cookie-update-of-length-01.exfail │ ├── client-handle-cookie-update-of-length-01.pkt │ ├── client-handle-cookie-update-of-length-02.exfail │ ├── client-handle-cookie-update-of-length-02.pkt │ ├── client-handle-cookie-update-of-length-03.exfail │ ├── client-handle-cookie-update-of-length-03.pkt │ ├── client-handle-cookie-update-of-length-04.pkt │ ├── client-handle-cookie-update-of-length-05.exfail │ ├── client-handle-cookie-update-of-length-05.pkt │ ├── client-handle-cookie-update-of-length-06.pkt │ ├── client-handle-cookie-update-of-length-07.exfail │ ├── client-handle-cookie-update-of-length-07.pkt │ ├── client-handle-cookie-update-of-length-08.pkt │ ├── client-handle-cookie-update-of-length-09.exfail │ ├── client-handle-cookie-update-of-length-09.pkt │ ├── client-handle-cookie-update-of-length-10.pkt │ ├── client-handle-cookie-update-of-length-11.exfail │ ├── client-handle-cookie-update-of-length-11.pkt │ ├── client-handle-cookie-update-of-length-12.pkt │ ├── client-handle-cookie-update-of-length-13.exfail │ ├── client-handle-cookie-update-of-length-13.pkt │ ├── client-handle-cookie-update-of-length-14.pkt │ ├── client-handle-cookie-update-of-length-15.exfail │ ├── client-handle-cookie-update-of-length-15.pkt │ ├── client-handle-cookie-update-of-length-16.pkt │ ├── client-handle-cookie-update-of-length-17.exfail │ ├── client-handle-cookie-update-of-length-17.pkt │ ├── client-handle-cookie-update-of-length-18.exfail │ ├── client-handle-cookie-update-of-length-18.pkt │ ├── client-handle-cookie-update-of-length-19.exfail │ ├── client-handle-cookie-update-of-length-19.pkt │ ├── client-handle-cookie-update-of-length-20.exfail │ ├── client-handle-cookie-update-of-length-20.pkt │ ├── client-handle-cookie-update-of-length-21.exfail │ ├── client-handle-cookie-update-of-length-21.pkt │ ├── client-handle-cookie-update-of-length-22.exfail │ ├── client-handle-cookie-update-of-length-22.pkt │ ├── client-handle-cookie-update-of-length-23.exfail │ ├── client-handle-cookie-update-of-length-23.pkt │ ├── client-handle-cookie-update-of-length-24.exfail │ ├── client-handle-cookie-update-of-length-24.pkt │ ├── client-handle-cookie-update-of-length-25.exfail │ ├── client-handle-cookie-update-of-length-25.pkt │ ├── client-handle-cookie-update-of-length-26.exfail │ ├── client-handle-cookie-update-of-length-26.pkt │ ├── client-handle-cookie-update-of-length-27.exfail │ ├── client-handle-cookie-update-of-length-27.pkt │ ├── client-handle-cookie-update-of-length-28.exfail │ ├── client-handle-cookie-update-of-length-28.pkt │ ├── client-handle-cookie-update-of-length-29.exfail │ ├── client-handle-cookie-update-of-length-29.pkt │ ├── client-handle-cookie-update-of-length-30.exfail │ ├── client-handle-cookie-update-of-length-30.pkt │ ├── client-handle-cookie-update-of-length-31.exfail │ ├── client-handle-cookie-update-of-length-31.pkt │ ├── client-handle-cookie-update-of-length-32.exfail │ ├── client-handle-cookie-update-of-length-32.pkt │ ├── client-handle-cookie-update-of-length-33.exfail │ ├── client-handle-cookie-update-of-length-33.pkt │ ├── client-handle-cookie-update-of-length-34.exfail │ ├── client-handle-cookie-update-of-length-34.pkt │ ├── client-handle-cookie-update-of-length-35.exfail │ ├── client-handle-cookie-update-of-length-35.pkt │ ├── client-handle-cookie-update-of-length-36.exfail │ ├── client-handle-cookie-update-of-length-36.pkt │ ├── client-handle-cookie-update-of-length-37.exfail │ ├── client-handle-cookie-update-of-length-37.pkt │ ├── client-handle-cookie-update-of-length-38.exfail │ ├── client-handle-cookie-update-of-length-38.pkt │ ├── client-handle-initial-cookie-of-length-01.pkt │ ├── client-handle-initial-cookie-of-length-02.pkt │ ├── client-handle-initial-cookie-of-length-03.pkt │ ├── client-handle-initial-cookie-of-length-04.pkt │ ├── client-handle-initial-cookie-of-length-05.pkt │ ├── client-handle-initial-cookie-of-length-06.pkt │ ├── client-handle-initial-cookie-of-length-07.pkt │ ├── client-handle-initial-cookie-of-length-08.pkt │ ├── client-handle-initial-cookie-of-length-09.pkt │ ├── client-handle-initial-cookie-of-length-10.pkt │ ├── client-handle-initial-cookie-of-length-11.pkt │ ├── client-handle-initial-cookie-of-length-12.pkt │ ├── client-handle-initial-cookie-of-length-13.pkt │ ├── client-handle-initial-cookie-of-length-14.pkt │ ├── client-handle-initial-cookie-of-length-15.pkt │ ├── client-handle-initial-cookie-of-length-16.pkt │ ├── client-handle-initial-cookie-of-length-17.pkt │ ├── client-handle-initial-cookie-of-length-18.pkt │ ├── client-handle-initial-cookie-of-length-19.pkt │ ├── client-handle-initial-cookie-of-length-20.pkt │ ├── client-handle-initial-cookie-of-length-21.pkt │ ├── client-handle-initial-cookie-of-length-22.pkt │ ├── client-handle-initial-cookie-of-length-23.pkt │ ├── client-handle-initial-cookie-of-length-24.pkt │ ├── client-handle-initial-cookie-of-length-25.pkt │ ├── client-handle-initial-cookie-of-length-26.pkt │ ├── client-handle-initial-cookie-of-length-27.pkt │ ├── client-handle-initial-cookie-of-length-28.pkt │ ├── client-handle-initial-cookie-of-length-29.pkt │ ├── client-handle-initial-cookie-of-length-30.pkt │ ├── client-handle-initial-cookie-of-length-31.pkt │ ├── client-handle-initial-cookie-of-length-32.pkt │ ├── client-handle-initial-cookie-of-length-33.pkt │ ├── client-handle-initial-cookie-of-length-34.pkt │ ├── client-handle-initial-cookie-of-length-35.pkt │ ├── client-handle-initial-cookie-of-length-36.pkt │ ├── client-handle-initial-cookie-of-length-37.pkt │ ├── client-handle-initial-cookie-of-length-38.pkt │ ├── client-handle-server-not-supporting-fast-open.pkt │ ├── client-server-not-updating-cookie.exfail │ ├── client-server-not-updating-cookie.pkt │ └── run-all-fast-open-client-tests ├── run-all-fast-open-tests └── server │ ├── all-fast-open-server-tests │ └── run-all-fast-open-server-tests ├── make_atf.sh ├── rcv-data-segments ├── all-rcv-data-segments-tests ├── overlapping-050-075.pkt ├── overlapping-050-100.pkt ├── overlapping-050-150.pkt ├── overlapping-050-200.pkt ├── overlapping-050-275.pkt ├── overlapping-050-300.pkt ├── overlapping-050-350.pkt ├── overlapping-050-400.pkt ├── overlapping-050-475.pkt ├── overlapping-050-500.pkt ├── overlapping-050-550.pkt ├── overlapping-050-600.pkt ├── overlapping-050-675.pkt ├── overlapping-050-700.pkt ├── overlapping-100-150.pkt ├── overlapping-100-200.pkt ├── overlapping-100-275.pkt ├── overlapping-100-300.pkt ├── overlapping-100-350.pkt ├── overlapping-100-400.pkt ├── overlapping-100-475.pkt ├── overlapping-100-500.pkt ├── overlapping-100-550.pkt ├── overlapping-100-600.pkt ├── overlapping-100-675.pkt ├── overlapping-100-700.pkt ├── overlapping-150-200.pkt ├── overlapping-150-275.pkt ├── overlapping-150-300.pkt ├── overlapping-150-350.pkt ├── overlapping-150-400.pkt ├── overlapping-150-475.pkt ├── overlapping-150-500.pkt ├── overlapping-150-550.pkt ├── overlapping-150-600.pkt ├── overlapping-150-675.pkt ├── overlapping-150-700.pkt ├── overlapping-200-275.pkt ├── overlapping-200-300.pkt ├── overlapping-200-32200.pkt ├── overlapping-200-350.pkt ├── overlapping-200-400.pkt ├── overlapping-200-475.pkt ├── overlapping-200-500.pkt ├── overlapping-200-550.pkt ├── overlapping-200-600.pkt ├── overlapping-200-675.pkt ├── overlapping-200-700.pkt ├── overlapping-250-275.pkt ├── overlapping-250-300.pkt ├── overlapping-250-350.pkt ├── overlapping-250-400.pkt ├── overlapping-250-475.pkt ├── overlapping-250-500.pkt ├── overlapping-250-550.pkt ├── overlapping-250-600.pkt ├── overlapping-250-675.pkt ├── overlapping-250-700.pkt ├── overlapping-300-350.pkt ├── overlapping-300-400.pkt ├── overlapping-300-475.pkt ├── overlapping-300-500.pkt ├── overlapping-300-550.pkt ├── overlapping-300-600.pkt ├── overlapping-300-675.pkt ├── overlapping-300-700.pkt ├── overlapping-350-400.pkt ├── overlapping-350-475.pkt ├── overlapping-350-500.pkt ├── overlapping-350-550.pkt ├── overlapping-350-600.pkt ├── overlapping-350-675.pkt ├── overlapping-350-700.pkt ├── overlapping-400-475.pkt ├── overlapping-400-500.pkt ├── overlapping-400-550.pkt ├── overlapping-400-600.pkt ├── overlapping-400-675.pkt ├── overlapping-400-700.pkt ├── overlapping-450-475.pkt ├── overlapping-450-500.pkt ├── overlapping-450-550.pkt ├── overlapping-450-600.pkt ├── overlapping-450-675.pkt ├── overlapping-450-700.pkt ├── overlapping-500-550.pkt ├── overlapping-500-600.pkt ├── overlapping-500-675.pkt ├── overlapping-500-700.pkt ├── overlapping-550-600.pkt ├── overlapping-550-675.pkt ├── overlapping-550-700.pkt ├── overlapping-600-675.pkt ├── overlapping-600-700.pkt ├── overlapping-650-675.pkt ├── overlapping-650-700.pkt ├── reordering-12345.pkt ├── reordering-12354.pkt ├── reordering-12435.pkt ├── reordering-12453.pkt ├── reordering-12534.pkt ├── reordering-12543.pkt ├── reordering-13245.pkt ├── reordering-13254.pkt ├── reordering-13425.pkt ├── reordering-13452.pkt ├── reordering-13524.pkt ├── reordering-13542.pkt ├── reordering-14235.pkt ├── reordering-14253.pkt ├── reordering-14325.pkt ├── reordering-14352.pkt ├── reordering-14523.pkt ├── reordering-14532.pkt ├── reordering-15234.pkt ├── reordering-15243.pkt ├── reordering-15324.pkt ├── reordering-15342.pkt ├── reordering-15423.pkt ├── reordering-15432.pkt ├── reordering-21345.pkt ├── reordering-21354.pkt ├── reordering-21435.pkt ├── reordering-21453.pkt ├── reordering-21534.pkt ├── reordering-21543.pkt ├── reordering-23145.pkt ├── reordering-23154.pkt ├── reordering-23415.pkt ├── reordering-23451.pkt ├── reordering-23514.pkt ├── reordering-23541.pkt ├── reordering-24135.pkt ├── reordering-24153.pkt ├── reordering-24315.pkt ├── reordering-24351.pkt ├── reordering-24513.pkt ├── reordering-24531.pkt ├── reordering-25134.pkt ├── reordering-25143.pkt ├── reordering-25314.pkt ├── reordering-25341.pkt ├── reordering-25413.pkt ├── reordering-25431.pkt ├── reordering-31245.pkt ├── reordering-31254.pkt ├── reordering-31425.pkt ├── reordering-31452.pkt ├── reordering-31524.pkt ├── reordering-31542.pkt ├── reordering-32145.pkt ├── reordering-32154.pkt ├── reordering-32415.pkt ├── reordering-32451.pkt ├── reordering-32514.pkt ├── reordering-32541.pkt ├── reordering-34125.pkt ├── reordering-34152.pkt ├── reordering-34215.pkt ├── reordering-34251.pkt ├── reordering-34512.pkt ├── reordering-34521.pkt ├── reordering-35124.pkt ├── reordering-35142.pkt ├── reordering-35214.pkt ├── reordering-35241.pkt ├── reordering-35412.pkt ├── reordering-35421.pkt ├── reordering-41235.pkt ├── reordering-41253.pkt ├── reordering-41325.pkt ├── reordering-41352.pkt ├── reordering-41523.pkt ├── reordering-41532.pkt ├── reordering-42135.pkt ├── reordering-42153.pkt ├── reordering-42315.pkt ├── reordering-42351.pkt ├── reordering-42513.pkt ├── reordering-42531.pkt ├── reordering-43125.pkt ├── reordering-43152.pkt ├── reordering-43215.pkt ├── reordering-43251.pkt ├── reordering-43512.pkt ├── reordering-43521.pkt ├── reordering-45123.pkt ├── reordering-45132.pkt ├── reordering-45213.pkt ├── reordering-45231.pkt ├── reordering-45312.pkt ├── reordering-45321.pkt ├── reordering-51234.pkt ├── reordering-51243.pkt ├── reordering-51324.pkt ├── reordering-51342.pkt ├── reordering-51423.pkt ├── reordering-51432.pkt ├── reordering-52134.pkt ├── reordering-52143.pkt ├── reordering-52314.pkt ├── reordering-52341.pkt ├── reordering-52413.pkt ├── reordering-52431.pkt ├── reordering-53124.pkt ├── reordering-53142.pkt ├── reordering-53214.pkt ├── reordering-53241.pkt ├── reordering-53412.pkt ├── reordering-53421.pkt ├── reordering-54123.pkt ├── reordering-54132.pkt ├── reordering-54213.pkt ├── reordering-54231.pkt ├── reordering-54312.pkt ├── reordering-54321.pkt ├── reordering-5F4321.pkt └── run-all-rcv-data-segments-tests ├── rcv-icmp ├── README.md ├── all-rcv-icmp-tests ├── rcv-icmp-hard-error-comm-prohibited-ipv4.pkt ├── rcv-icmp-hard-error-comm-prohibited-ipv6.pkt ├── rcv-icmp-hard-error-host-prohibited-ipv4.pkt ├── rcv-icmp-hard-error-ignored-ipv4.pkt ├── rcv-icmp-hard-error-ignored-ipv6.pkt ├── rcv-icmp-hard-error-net-prohibited-ipv4.pkt ├── rcv-icmp-hard-error-port-unreachable-ipv4.pkt ├── rcv-icmp-hard-error-port-unreachable-ipv6.pkt ├── rcv-icmp-hard-error-proto-unreachable-ipv4.pkt ├── rcv-icmp-hard-error-proto-unreachable-ipv6.pkt ├── rcv-icmp-hard-error-ttl-exceeded-ipv4.pkt ├── rcv-icmp-hard-error-ttl-exceeded-ipv6.pkt └── run-all-rcv-icmp-tests ├── run-all-tests ├── run-tests.sh ├── snd-syn ├── README.md ├── all-snd-syn-tests ├── run-all-snd-syn-tests ├── snd-syn-mss-inherited-from-mtu-1280-ipv6.pkt ├── snd-syn-mss-inherited-from-mtu-65535-ipv4.pkt ├── snd-syn-mss-inherited-from-mtu-65535-ipv6.pkt ├── snd-syn-mss-inherited-from-mtu-72-ipv4.pkt ├── snd-syn-mss-inherited-from-mtu-9000-ipv4.pkt ├── snd-syn-mss-inherited-from-mtu-9000-ipv6.pkt ├── snd-syn-rtx-drop-options-ipv4.pkt ├── snd-syn-rtx-drop-options-ipv6.pkt ├── snd-syn-rtx-keepinit-ipv4.pkt ├── snd-syn-rtx-keepinit-ipv6.pkt ├── snd-syn-rtx-max-number-ipv4.pkt ├── snd-syn-rtx-max-number-ipv6.pkt ├── snd-syn-with-default-options-ipv4.pkt ├── snd-syn-with-default-options-ipv6.pkt ├── snd-syn-with-ecn-alt-maxretries-ipv4.pkt ├── snd-syn-with-ecn-alt-maxretries-ipv6.pkt ├── snd-syn-with-ecn-ipv4.pkt ├── snd-syn-with-ecn-ipv6.pkt ├── snd-syn-with-max-ws-ipv4.pkt ├── snd-syn-with-max-ws-ipv6.pkt ├── snd-syn-with-min-ws-ipv4.pkt ├── snd-syn-with-min-ws-ipv6.pkt ├── snd-syn-without-options-ipv4.pkt ├── snd-syn-without-options-ipv6.pkt ├── snd-syn-without-sack-and-ws-and-ts-ipv4.pkt ├── snd-syn-without-sack-and-ws-and-ts-ipv6.pkt ├── snd-syn-without-sack-ipv4.pkt ├── snd-syn-without-sack-ipv6.pkt ├── snd-syn-without-ws-and-ts-ipv4.pkt ├── snd-syn-without-ws-and-ts-ipv6.pkt └── timeout ├── snippets ├── README.md ├── all-snippets ├── close-wait-ipv4.pkt ├── close-wait-ipv6.pkt ├── closed-initially-ipv4.pkt ├── closed-initially-ipv6.pkt ├── closed-via-last-ack-ipv4.pkt ├── closed-via-last-ack-ipv6.pkt ├── closing-ipv4.pkt ├── closing-ipv6.pkt ├── established-ipv4.pkt ├── established-ipv6.pkt ├── fin-wait-1-ipv4.pkt ├── fin-wait-1-ipv6.pkt ├── fin-wait-2-ipv4.pkt ├── fin-wait-2-ipv6.pkt ├── last-ack-ipv4.pkt ├── last-ack-ipv6.pkt ├── listen-ipv4.pkt ├── listen-ipv6.pkt ├── noopt-parallel-syn-w-options-ipv4.pkt ├── noopt-strict-tsopt.pkt ├── noopt-syn-rcvd-via-syn-sent-ipv4.pkt ├── run-all-snippets ├── syn-rcvd-via-listen-ipv4.pkt ├── syn-rcvd-via-listen-ipv6.pkt ├── syn-rcvd-via-syn-sent-ipv4-ecn01.pkt ├── syn-rcvd-via-syn-sent-ipv4-ecn10.pkt ├── syn-rcvd-via-syn-sent-ipv4-ecn11.pkt ├── syn-rcvd-via-syn-sent-ipv4.pkt ├── syn-rcvd-via-syn-sent-ipv6.pkt ├── syn-sent-ipv4.pkt ├── syn-sent-ipv6.pkt ├── time-wait-via-closing-ipv4.pkt ├── time-wait-via-closing-ipv6.pkt ├── time-wait-via-fin-wait-1-ipv4.pkt ├── time-wait-via-fin-wait-1-ipv6.pkt ├── time-wait-via-fin-wait-2-ipv4.pkt └── time-wait-via-fin-wait-2-ipv6.pkt ├── socket-api ├── README.md ├── getsockopt │ ├── README.md │ ├── all-getsockopt-tests │ ├── run-all-getsockopt-tests │ ├── socket-api-getsockopt-keepcnt-inherited-from-sysctl-ipv4.pkt │ ├── socket-api-getsockopt-keepcnt-inherited-from-sysctl-ipv6.pkt │ ├── socket-api-getsockopt-keepidle-inherited-from-sysctl-ipv4.pkt │ ├── socket-api-getsockopt-keepidle-inherited-from-sysctl-ipv6.pkt │ ├── socket-api-getsockopt-keepinit-inherited-from-sysctl-ipv4.pkt │ ├── socket-api-getsockopt-keepinit-inherited-from-sysctl-ipv6.pkt │ ├── socket-api-getsockopt-keepintvl-inherited-from-sysctl-ipv4.pkt │ ├── socket-api-getsockopt-keepintvl-inherited-from-sysctl-ipv6.pkt │ ├── socket-api-getsockopt-tcpinfo-ipv4.pkt │ └── socket-api-getsockopt-tcpinfo-ipv6.pkt ├── run-all-socket-api-tests └── setsockopt │ ├── README.md │ ├── all-setsockopt-tests │ ├── run-all-setsockopt-tests │ ├── socket-api-setsockopt-hoplimit-active-ipv6.pkt │ ├── socket-api-setsockopt-hoplimit-passive-ipv6.pkt │ ├── socket-api-setsockopt-md5-active-ipv4.pkt │ ├── socket-api-setsockopt-md5-active-ipv6.pkt │ ├── socket-api-setsockopt-md5-passive-ipv4.pkt │ ├── socket-api-setsockopt-md5-passive-ipv6.pkt │ ├── socket-api-setsockopt-tos-active-ipv4.pkt │ ├── socket-api-setsockopt-tos-passive-ipv4.pkt │ ├── socket-api-setsockopt-traffic-class-active-ipv6.pkt │ ├── socket-api-setsockopt-traffic-class-passive-ipv6.pkt │ ├── socket-api-setsockopt-ttl-active-ipv4.pkt │ └── socket-api-setsockopt-ttl-passive-ipv4.pkt ├── state-event-engine ├── README.md ├── rcv-ack-close-wait │ └── README.md ├── rcv-ack-closed │ ├── README.md │ ├── all-rcv-ack-closed-tests │ ├── rcv-ack-with-data-closed-ipv4.pkt │ ├── rcv-ack-with-data-closed-ipv6.pkt │ ├── rcv-ack-without-data-closed-ipv4.pkt │ ├── rcv-ack-without-data-closed-ipv6.pkt │ └── run-all-rcv-ack-closed-tests ├── rcv-ack-closing │ └── README.md ├── rcv-ack-established │ └── README.md ├── rcv-ack-fin-wait-1 │ └── README.md ├── rcv-ack-fin-wait-2 │ └── README.md ├── rcv-ack-last-ack │ └── README.md ├── rcv-ack-listen │ ├── README.md │ ├── all-rcv-ack-listen-tests │ ├── rcv-ack-with-data-listen-ipv4.pkt │ ├── rcv-ack-with-data-listen-ipv6.pkt │ ├── rcv-ack-without-data-listen-ipv4.pkt │ ├── rcv-ack-without-data-listen-ipv6.pkt │ └── run-all-rcv-ack-listen-tests ├── rcv-ack-syn-rcvd │ └── README.md ├── rcv-ack-syn-sent │ ├── README.md │ ├── all-rcv-ack-syn-sent-tests │ ├── rcv-ack-with-data-syn-sent-ack-left-edge-ipv4.pkt │ ├── rcv-ack-with-data-syn-sent-ack-left-edge-ipv6.pkt │ ├── rcv-ack-with-data-syn-sent-ack-outside-left-ipv4.pkt │ ├── rcv-ack-with-data-syn-sent-ack-outside-left-ipv6.pkt │ ├── rcv-ack-with-data-syn-sent-ack-outside-right-ipv4.pkt │ ├── rcv-ack-with-data-syn-sent-ack-outside-right-ipv6.pkt │ ├── rcv-ack-without-data-syn-sent-ack-left-edge-ipv4.pkt │ ├── rcv-ack-without-data-syn-sent-ack-left-edge-ipv6.pkt │ ├── rcv-ack-without-data-syn-sent-ack-outside-left-ipv4.pkt │ ├── rcv-ack-without-data-syn-sent-ack-outside-left-ipv6.pkt │ ├── rcv-ack-without-data-syn-sent-ack-outside-right-ipv4.pkt │ ├── rcv-ack-without-data-syn-sent-ack-outside-right-ipv6.pkt │ └── run-all-rcv-ack-syn-sent-tests ├── rcv-ack-time-wait │ ├── README.md │ ├── all-rcv-ack-time-wait-tests │ ├── rcv-ack-time-wait-using-shutdown-left-edge-ipv4.pkt │ ├── rcv-ack-time-wait-using-shutdown-left-edge-ipv6.pkt │ ├── rcv-ack-time-wait-using-shutdown-middle-ipv4.pkt │ ├── rcv-ack-time-wait-using-shutdown-middle-ipv6.pkt │ ├── rcv-ack-time-wait-using-shutdown-outside-left-ipv4.pkt │ ├── rcv-ack-time-wait-using-shutdown-outside-left-ipv6.pkt │ ├── rcv-ack-time-wait-using-shutdown-outside-right-ipv4.pkt │ ├── rcv-ack-time-wait-using-shutdown-outside-right-ipv6.pkt │ ├── rcv-ack-time-wait-using-shutdown-right-edge-ipv4.pkt │ ├── rcv-ack-time-wait-using-shutdown-right-edge-ipv6.pkt │ └── run-all-rcv-ack-time-wait-tests ├── rcv-fin-ack-close-wait │ └── README.md ├── rcv-fin-ack-closed │ ├── README.md │ ├── all-rcv-fin-ack-closed-tests │ ├── rcv-fin-ack-with-data-closed-ipv4.pkt │ ├── rcv-fin-ack-with-data-closed-ipv6.pkt │ ├── rcv-fin-ack-without-data-closed-ipv4.pkt │ ├── rcv-fin-ack-without-data-closed-ipv6.pkt │ └── run-all-rcv-fin-ack-closed-tests ├── rcv-fin-ack-closing │ └── README.md ├── rcv-fin-ack-established │ └── README.md ├── rcv-fin-ack-fin-wait-1 │ └── README.md ├── rcv-fin-ack-fin-wait-2 │ └── README.md ├── rcv-fin-ack-last-ack │ └── README.md ├── rcv-fin-ack-listen │ ├── README.md │ ├── all-rcv-fin-ack-listen-tests │ ├── rcv-fin-ack-with-data-listen-ipv4.pkt │ ├── rcv-fin-ack-with-data-listen-ipv6.pkt │ ├── rcv-fin-ack-without-data-listen-ipv4.pkt │ ├── rcv-fin-ack-without-data-listen-ipv6.pkt │ └── run-all-rcv-fin-ack-listen-tests ├── rcv-fin-ack-syn-rcvd │ └── README.md ├── rcv-fin-ack-syn-sent │ ├── README.md │ ├── all-rcv-fin-ack-syn-sent-tests │ ├── rcv-fin-ack-with-data-syn-sent-ack-left-edge-ipv4.pkt │ ├── rcv-fin-ack-with-data-syn-sent-ack-left-edge-ipv6.pkt │ ├── rcv-fin-ack-with-data-syn-sent-ack-outside-left-ipv4.pkt │ ├── rcv-fin-ack-with-data-syn-sent-ack-outside-left-ipv6.pkt │ ├── rcv-fin-ack-with-data-syn-sent-ack-outside-right-ipv4.pkt │ ├── rcv-fin-ack-with-data-syn-sent-ack-outside-right-ipv6.pkt │ ├── rcv-fin-ack-without-data-syn-sent-ack-left-edge-ipv4.pkt │ ├── rcv-fin-ack-without-data-syn-sent-ack-left-edge-ipv6.pkt │ ├── rcv-fin-ack-without-data-syn-sent-ack-outside-left-ipv4.pkt │ ├── rcv-fin-ack-without-data-syn-sent-ack-outside-left-ipv6.pkt │ ├── rcv-fin-ack-without-data-syn-sent-ack-outside-right-ipv4.pkt │ ├── rcv-fin-ack-without-data-syn-sent-ack-outside-right-ipv6.pkt │ └── run-all-rcv-fin-ack-syn-sent-tests ├── rcv-fin-ack-time-wait │ ├── README.md │ ├── all-rcv-fin-ack-time-wait-tests │ ├── rcv-fin-ack-time-wait-using-shutdown-left-edge-ipv4.pkt │ ├── rcv-fin-ack-time-wait-using-shutdown-left-edge-ipv6.pkt │ ├── rcv-fin-ack-time-wait-using-shutdown-middle-ipv4.pkt │ ├── rcv-fin-ack-time-wait-using-shutdown-middle-ipv6.pkt │ ├── rcv-fin-ack-time-wait-using-shutdown-outside-left-ipv4.pkt │ ├── rcv-fin-ack-time-wait-using-shutdown-outside-left-ipv6.pkt │ ├── rcv-fin-ack-time-wait-using-shutdown-outside-right-ipv4.pkt │ ├── rcv-fin-ack-time-wait-using-shutdown-outside-right-ipv6.pkt │ ├── rcv-fin-ack-time-wait-using-shutdown-right-edge-ipv4.pkt │ ├── rcv-fin-ack-time-wait-using-shutdown-right-edge-ipv6.pkt │ └── run-all-rcv-fin-ack-time-wait-tests ├── rcv-fin-close-wait │ └── README.md ├── rcv-fin-closed │ ├── README.md │ ├── all-rcv-fin-closed-tests │ ├── rcv-fin-with-data-closed-ipv4.pkt │ ├── rcv-fin-with-data-closed-ipv6.pkt │ ├── rcv-fin-without-data-closed-ipv4.pkt │ ├── rcv-fin-without-data-closed-ipv6.pkt │ └── run-all-rcv-fin-closed-tests ├── rcv-fin-closing │ └── README.md ├── rcv-fin-established │ └── README.md ├── rcv-fin-fin-wait-1 │ └── README.md ├── rcv-fin-fin-wait-2 │ └── README.md ├── rcv-fin-last-ack │ └── README.md ├── rcv-fin-listen │ ├── README.md │ ├── all-rcv-fin-listen-tests │ ├── rcv-fin-with-data-listen-ipv4.pkt │ ├── rcv-fin-with-data-listen-ipv6.pkt │ ├── rcv-fin-without-data-listen-ipv4.pkt │ ├── rcv-fin-without-data-listen-ipv6.pkt │ └── run-all-rcv-fin-listen-tests ├── rcv-fin-syn-rcvd │ └── README.md ├── rcv-fin-syn-sent │ ├── README.md │ ├── all-rcv-fin-syn-sent-tests │ ├── rcv-fin-with-data-syn-sent-ipv4.pkt │ ├── rcv-fin-with-data-syn-sent-ipv6.pkt │ ├── rcv-fin-without-data-syn-sent-ipv4.pkt │ ├── rcv-fin-without-data-syn-sent-ipv6.pkt │ └── run-all-rcv-fin-syn-sent-tests ├── rcv-fin-time-wait │ ├── README.md │ ├── all-rcv-fin-time-wait-tests │ ├── rcv-fin-time-wait-using-shutdown-left-edge-ipv4.pkt │ ├── rcv-fin-time-wait-using-shutdown-left-edge-ipv6.pkt │ ├── rcv-fin-time-wait-using-shutdown-middle-ipv4.pkt │ ├── rcv-fin-time-wait-using-shutdown-middle-ipv6.pkt │ ├── rcv-fin-time-wait-using-shutdown-outside-left-ipv4.pkt │ ├── rcv-fin-time-wait-using-shutdown-outside-left-ipv6.pkt │ ├── rcv-fin-time-wait-using-shutdown-outside-right-ipv4.pkt │ ├── rcv-fin-time-wait-using-shutdown-outside-right-ipv6.pkt │ ├── rcv-fin-time-wait-using-shutdown-right-edge-ipv4.pkt │ ├── rcv-fin-time-wait-using-shutdown-right-edge-ipv6.pkt │ └── run-all-rcv-fin-time-wait-tests ├── rcv-rst-ack-close-wait │ └── README.md ├── rcv-rst-ack-closed │ ├── README.md │ ├── all-rcv-rst-ack-closed-tests │ ├── rcv-rst-ack-with-data-closed-ipv4.pkt │ ├── rcv-rst-ack-with-data-closed-ipv6.pkt │ ├── rcv-rst-ack-without-data-closed-ipv4.pkt │ ├── rcv-rst-ack-without-data-closed-ipv6.pkt │ └── run-all-rcv-rst-ack-closed-tests ├── rcv-rst-ack-closing │ └── README.md ├── rcv-rst-ack-established │ └── README.md ├── rcv-rst-ack-fin-wait-1 │ └── README.md ├── rcv-rst-ack-fin-wait-2 │ └── README.md ├── rcv-rst-ack-last-ack │ └── README.md ├── rcv-rst-ack-listen │ ├── README.md │ ├── all-rcv-rst-ack-listen-tests │ ├── rcv-rst-ack-with-data-listen-ipv4.pkt │ ├── rcv-rst-ack-with-data-listen-ipv6.pkt │ ├── rcv-rst-ack-without-data-listen-ipv4.pkt │ ├── rcv-rst-ack-without-data-listen-ipv6.pkt │ └── run-all-rcv-rst-ack-listen-tests ├── rcv-rst-ack-syn-rcvd │ ├── README.md │ ├── all-rcv-rst-ack-syn-rcvd-tests │ ├── rcv-rst-ack-syn-rcvd-via-listen-left-edge-ack-left-edge-insecure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-left-edge-ack-left-edge-insecure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-left-edge-ack-left-edge-secure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-left-edge-ack-left-edge-secure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-left-edge-ack-outside-left-insecure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-left-edge-ack-outside-left-insecure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-left-edge-ack-outside-left-secure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-left-edge-ack-outside-left-secure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-left-edge-ack-outside-right-insecure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-left-edge-ack-outside-right-insecure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-left-edge-ack-outside-right-secure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-left-edge-ack-outside-right-secure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-left-edge-ack-right-edge-insecure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-left-edge-ack-right-edge-insecure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-left-edge-ack-right-edge-secure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-left-edge-ack-right-edge-secure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-outside-left-ack-left-edge-insecure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-outside-left-ack-left-edge-insecure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-outside-left-ack-left-edge-secure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-outside-left-ack-left-edge-secure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-outside-left-ack-outside-left-insecure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-outside-left-ack-outside-left-insecure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-outside-left-ack-outside-left-secure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-outside-left-ack-outside-left-secure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-outside-left-ack-outside-right-insecure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-outside-left-ack-outside-right-insecure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-outside-left-ack-outside-right-secure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-outside-left-ack-outside-right-secure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-outside-left-ack-right-edge-insecure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-outside-left-ack-right-edge-insecure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-outside-left-ack-right-edge-secure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-outside-left-ack-right-edge-secure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-outside-right-ack-left-edge-insecure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-outside-right-ack-left-edge-insecure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-outside-right-ack-left-edge-secure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-outside-right-ack-left-edge-secure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-outside-right-ack-outside-left-insecure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-outside-right-ack-outside-left-insecure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-outside-right-ack-outside-left-secure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-outside-right-ack-outside-left-secure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-outside-right-ack-outside-right-insecure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-outside-right-ack-outside-right-insecure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-outside-right-ack-outside-right-secure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-outside-right-ack-outside-right-secure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-outside-right-ack-right-edge-insecure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-outside-right-ack-right-edge-insecure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-outside-right-ack-right-edge-secure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-outside-right-ack-right-edge-secure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-right-edge-ack-left-edge-insecure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-right-edge-ack-left-edge-insecure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-right-edge-ack-left-edge-secure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-right-edge-ack-left-edge-secure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-right-edge-ack-outside-left-insecure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-right-edge-ack-outside-left-insecure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-right-edge-ack-outside-left-secure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-right-edge-ack-outside-left-secure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-right-edge-ack-outside-right-insecure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-right-edge-ack-outside-right-insecure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-right-edge-ack-outside-right-secure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-right-edge-ack-outside-right-secure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-right-edge-ack-right-edge-insecure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-right-edge-ack-right-edge-insecure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-right-edge-ack-right-edge-secure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-listen-right-edge-ack-right-edge-secure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-left-edge-ack-left-edge-insecure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-left-edge-ack-left-edge-insecure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-left-edge-ack-left-edge-secure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-left-edge-ack-left-edge-secure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-left-edge-ack-outside-left-insecure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-left-edge-ack-outside-left-insecure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-left-edge-ack-outside-left-secure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-left-edge-ack-outside-left-secure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-left-edge-ack-outside-right-insecure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-left-edge-ack-outside-right-insecure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-left-edge-ack-outside-right-secure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-left-edge-ack-outside-right-secure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-left-edge-ack-right-edge-insecure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-left-edge-ack-right-edge-insecure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-left-edge-ack-right-edge-secure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-left-edge-ack-right-edge-secure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-outside-left-ack-left-edge-insecure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-outside-left-ack-left-edge-insecure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-outside-left-ack-left-edge-secure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-outside-left-ack-left-edge-secure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-outside-left-ack-outside-left-insecure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-outside-left-ack-outside-left-insecure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-outside-left-ack-outside-left-secure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-outside-left-ack-outside-left-secure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-outside-left-ack-outside-right-insecure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-outside-left-ack-outside-right-insecure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-outside-left-ack-outside-right-secure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-outside-left-ack-outside-right-secure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-outside-left-ack-right-edge-insecure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-outside-left-ack-right-edge-insecure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-outside-left-ack-right-edge-secure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-outside-left-ack-right-edge-secure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-outside-right-ack-left-edge-insecure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-outside-right-ack-left-edge-insecure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-outside-right-ack-left-edge-secure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-outside-right-ack-left-edge-secure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-outside-right-ack-outside-left-insecure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-outside-right-ack-outside-left-insecure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-outside-right-ack-outside-left-secure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-outside-right-ack-outside-left-secure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-outside-right-ack-outside-right-insecure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-outside-right-ack-outside-right-insecure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-outside-right-ack-outside-right-secure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-outside-right-ack-outside-right-secure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-outside-right-ack-right-edge-insecure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-outside-right-ack-right-edge-insecure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-outside-right-ack-right-edge-secure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-outside-right-ack-right-edge-secure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-right-edge-ack-left-edge-insecure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-right-edge-ack-left-edge-insecure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-right-edge-ack-left-edge-secure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-right-edge-ack-left-edge-secure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-right-edge-ack-outside-left-insecure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-right-edge-ack-outside-left-insecure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-right-edge-ack-outside-left-secure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-right-edge-ack-outside-left-secure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-right-edge-ack-outside-right-insecure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-right-edge-ack-outside-right-insecure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-right-edge-ack-outside-right-secure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-right-edge-ack-outside-right-secure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-right-edge-ack-right-edge-insecure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-right-edge-ack-right-edge-insecure-ipv6.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-right-edge-ack-right-edge-secure-ipv4.pkt │ ├── rcv-rst-ack-syn-rcvd-via-syn-sent-right-edge-ack-right-edge-secure-ipv6.pkt │ └── run-all-rcv-rst-ack-syn-rcvd-tests ├── rcv-rst-ack-syn-sent │ ├── README.md │ ├── all-rcv-rst-ack-syn-sent-tests │ ├── rcv-rst-ack-with-data-syn-sent-ack-left-edge-ipv4.pkt │ ├── rcv-rst-ack-with-data-syn-sent-ack-left-edge-ipv6.pkt │ ├── rcv-rst-ack-with-data-syn-sent-ack-outside-left-ipv4.pkt │ ├── rcv-rst-ack-with-data-syn-sent-ack-outside-left-ipv6.pkt │ ├── rcv-rst-ack-with-data-syn-sent-ack-outside-right-ipv4.pkt │ ├── rcv-rst-ack-with-data-syn-sent-ack-outside-right-ipv6.pkt │ ├── rcv-rst-ack-without-data-syn-sent-ack-left-edge-ipv4.pkt │ ├── rcv-rst-ack-without-data-syn-sent-ack-left-edge-ipv6.pkt │ ├── rcv-rst-ack-without-data-syn-sent-ack-outside-left-ipv4.pkt │ ├── rcv-rst-ack-without-data-syn-sent-ack-outside-left-ipv6.pkt │ ├── rcv-rst-ack-without-data-syn-sent-ack-outside-right-ipv4.pkt │ ├── rcv-rst-ack-without-data-syn-sent-ack-outside-right-ipv6.pkt │ └── run-all-rcv-rst-ack-syn-sent-tests ├── rcv-rst-ack-time-wait │ ├── README.md │ ├── all-rcv-rst-ack-time-wait-tests │ ├── rcv-rst-ack-time-wait-using-shutdown-left-edge-insecure-ipv4.pkt │ ├── rcv-rst-ack-time-wait-using-shutdown-left-edge-insecure-ipv6.pkt │ ├── rcv-rst-ack-time-wait-using-shutdown-left-edge-secure-ipv4.pkt │ ├── rcv-rst-ack-time-wait-using-shutdown-left-edge-secure-ipv6.pkt │ ├── rcv-rst-ack-time-wait-using-shutdown-outside-left-insecure-ipv4.pkt │ ├── rcv-rst-ack-time-wait-using-shutdown-outside-left-insecure-ipv6.pkt │ ├── rcv-rst-ack-time-wait-using-shutdown-outside-left-secure-ipv4.pkt │ ├── rcv-rst-ack-time-wait-using-shutdown-outside-left-secure-ipv6.pkt │ ├── rcv-rst-ack-time-wait-using-shutdown-outside-right-insecure-ipv4.pkt │ ├── rcv-rst-ack-time-wait-using-shutdown-outside-right-insecure-ipv6.pkt │ ├── rcv-rst-ack-time-wait-using-shutdown-outside-right-secure-ipv4.pkt │ ├── rcv-rst-ack-time-wait-using-shutdown-outside-right-secure-ipv6.pkt │ ├── rcv-rst-ack-time-wait-using-shutdown-right-edge-insecure-ipv4.pkt │ ├── rcv-rst-ack-time-wait-using-shutdown-right-edge-insecure-ipv6.pkt │ ├── rcv-rst-ack-time-wait-using-shutdown-right-edge-secure-ipv4.pkt │ ├── rcv-rst-ack-time-wait-using-shutdown-right-edge-secure-ipv6.pkt │ └── run-all-rcv-rst-ack-time-wait-tests ├── rcv-rst-close-wait │ ├── README.md │ ├── all-rcv-rst-close-wait-tests │ ├── rcv-rst-close-wait-left-edge-insecure-ipv4.pkt │ ├── rcv-rst-close-wait-left-edge-insecure-ipv6.pkt │ ├── rcv-rst-close-wait-left-edge-secure-ipv4.pkt │ ├── rcv-rst-close-wait-left-edge-secure-ipv6.pkt │ ├── rcv-rst-close-wait-outside-left-insecure-ipv4.pkt │ ├── rcv-rst-close-wait-outside-left-insecure-ipv6.pkt │ ├── rcv-rst-close-wait-outside-left-secure-ipv4.pkt │ ├── rcv-rst-close-wait-outside-left-secure-ipv6.pkt │ ├── rcv-rst-close-wait-outside-right-insecure-ipv4.pkt │ ├── rcv-rst-close-wait-outside-right-insecure-ipv6.pkt │ ├── rcv-rst-close-wait-outside-right-secure-ipv4.pkt │ ├── rcv-rst-close-wait-outside-right-secure-ipv6.pkt │ ├── rcv-rst-close-wait-right-edge-insecure-ipv4.pkt │ ├── rcv-rst-close-wait-right-edge-insecure-ipv6.pkt │ ├── rcv-rst-close-wait-right-edge-secure-ipv4.pkt │ ├── rcv-rst-close-wait-right-edge-secure-ipv6.pkt │ └── run-all-rcv-rst-close-wait-tests ├── rcv-rst-closed │ ├── README.md │ ├── all-rcv-rst-closed-tests │ ├── rcv-rst-with-data-closed-ipv4.pkt │ ├── rcv-rst-with-data-closed-ipv6.pkt │ ├── rcv-rst-without-data-closed-ipv4.pkt │ ├── rcv-rst-without-data-closed-ipv6.pkt │ └── run-all-rcv-rst-closed-tests ├── rcv-rst-closing │ ├── README.md │ ├── all-rcv-rst-closing-tests │ ├── rcv-rst-closing-left-edge-insecure-ipv4.pkt │ ├── rcv-rst-closing-left-edge-insecure-ipv6.pkt │ ├── rcv-rst-closing-left-edge-secure-ipv4.pkt │ ├── rcv-rst-closing-left-edge-secure-ipv6.pkt │ ├── rcv-rst-closing-outside-left-insecure-ipv4.pkt │ ├── rcv-rst-closing-outside-left-insecure-ipv6.pkt │ ├── rcv-rst-closing-outside-left-secure-ipv4.pkt │ ├── rcv-rst-closing-outside-left-secure-ipv6.pkt │ ├── rcv-rst-closing-outside-right-insecure-ipv4.pkt │ ├── rcv-rst-closing-outside-right-insecure-ipv6.pkt │ ├── rcv-rst-closing-outside-right-secure-ipv4.pkt │ ├── rcv-rst-closing-outside-right-secure-ipv6.pkt │ ├── rcv-rst-closing-right-edge-insecure-ipv4.pkt │ ├── rcv-rst-closing-right-edge-insecure-ipv6.pkt │ ├── rcv-rst-closing-right-edge-secure-ipv4.pkt │ ├── rcv-rst-closing-right-edge-secure-ipv6.pkt │ └── run-all-rcv-rst-closing-tests ├── rcv-rst-established │ ├── README.md │ ├── all-rcv-rst-established-tests │ ├── rcv-rst-established-left-edge-insecure-ipv4.pkt │ ├── rcv-rst-established-left-edge-insecure-ipv6.pkt │ ├── rcv-rst-established-left-edge-secure-ipv4.pkt │ ├── rcv-rst-established-left-edge-secure-ipv6.pkt │ ├── rcv-rst-established-outside-left-insecure-ipv4.pkt │ ├── rcv-rst-established-outside-left-insecure-ipv6.pkt │ ├── rcv-rst-established-outside-left-secure-ipv4.pkt │ ├── rcv-rst-established-outside-left-secure-ipv6.pkt │ ├── rcv-rst-established-outside-right-insecure-ipv4.pkt │ ├── rcv-rst-established-outside-right-insecure-ipv6.pkt │ ├── rcv-rst-established-outside-right-secure-ipv4.pkt │ ├── rcv-rst-established-outside-right-secure-ipv6.pkt │ ├── rcv-rst-established-right-edge-insecure-ipv4.pkt │ ├── rcv-rst-established-right-edge-insecure-ipv6.pkt │ ├── rcv-rst-established-right-edge-secure-ipv4.pkt │ ├── rcv-rst-established-right-edge-secure-ipv6.pkt │ └── run-all-rcv-rst-established-tests ├── rcv-rst-fin-wait-1 │ ├── README.md │ ├── all-rcv-rst-fin-wait-1-tests │ ├── rcv-rst-fin-wait-1-left-edge-insecure-ipv4.pkt │ ├── rcv-rst-fin-wait-1-left-edge-insecure-ipv6.pkt │ ├── rcv-rst-fin-wait-1-left-edge-secure-ipv4.pkt │ ├── rcv-rst-fin-wait-1-left-edge-secure-ipv6.pkt │ ├── rcv-rst-fin-wait-1-outside-left-insecure-ipv4.pkt │ ├── rcv-rst-fin-wait-1-outside-left-insecure-ipv6.pkt │ ├── rcv-rst-fin-wait-1-outside-left-secure-ipv4.pkt │ ├── rcv-rst-fin-wait-1-outside-left-secure-ipv6.pkt │ ├── rcv-rst-fin-wait-1-outside-right-insecure-ipv4.pkt │ ├── rcv-rst-fin-wait-1-outside-right-insecure-ipv6.pkt │ ├── rcv-rst-fin-wait-1-outside-right-secure-ipv4.pkt │ ├── rcv-rst-fin-wait-1-outside-right-secure-ipv6.pkt │ ├── rcv-rst-fin-wait-1-right-edge-insecure-ipv4.pkt │ ├── rcv-rst-fin-wait-1-right-edge-insecure-ipv6.pkt │ ├── rcv-rst-fin-wait-1-right-edge-secure-ipv4.pkt │ ├── rcv-rst-fin-wait-1-right-edge-secure-ipv6.pkt │ └── run-all-rcv-rst-fin-wait-1-tests ├── rcv-rst-fin-wait-2 │ ├── README.md │ ├── all-rcv-rst-fin-wait-2-tests │ ├── rcv-rst-fin-wait-2-left-edge-insecure-ipv4.pkt │ ├── rcv-rst-fin-wait-2-left-edge-insecure-ipv6.pkt │ ├── rcv-rst-fin-wait-2-left-edge-secure-ipv4.pkt │ ├── rcv-rst-fin-wait-2-left-edge-secure-ipv6.pkt │ ├── rcv-rst-fin-wait-2-outside-left-insecure-ipv4.pkt │ ├── rcv-rst-fin-wait-2-outside-left-insecure-ipv6.pkt │ ├── rcv-rst-fin-wait-2-outside-left-secure-ipv4.pkt │ ├── rcv-rst-fin-wait-2-outside-left-secure-ipv6.pkt │ ├── rcv-rst-fin-wait-2-outside-right-insecure-ipv4.pkt │ ├── rcv-rst-fin-wait-2-outside-right-insecure-ipv6.pkt │ ├── rcv-rst-fin-wait-2-outside-right-secure-ipv4.pkt │ ├── rcv-rst-fin-wait-2-outside-right-secure-ipv6.pkt │ ├── rcv-rst-fin-wait-2-right-edge-insecure-ipv4.pkt │ ├── rcv-rst-fin-wait-2-right-edge-insecure-ipv6.pkt │ ├── rcv-rst-fin-wait-2-right-edge-secure-ipv4.pkt │ ├── rcv-rst-fin-wait-2-right-edge-secure-ipv6.pkt │ └── run-all-rcv-rst-fin-wait-2-tests ├── rcv-rst-last-ack │ ├── README.md │ ├── all-rcv-rst-last-ack-tests │ ├── rcv-rst-last-ack-left-edge-insecure-ipv4.pkt │ ├── rcv-rst-last-ack-left-edge-insecure-ipv6.pkt │ ├── rcv-rst-last-ack-left-edge-secure-ipv4.pkt │ ├── rcv-rst-last-ack-left-edge-secure-ipv6.pkt │ ├── rcv-rst-last-ack-outside-left-insecure-ipv4.pkt │ ├── rcv-rst-last-ack-outside-left-insecure-ipv6.pkt │ ├── rcv-rst-last-ack-outside-left-secure-ipv4.pkt │ ├── rcv-rst-last-ack-outside-left-secure-ipv6.pkt │ ├── rcv-rst-last-ack-outside-right-insecure-ipv4.pkt │ ├── rcv-rst-last-ack-outside-right-insecure-ipv6.pkt │ ├── rcv-rst-last-ack-outside-right-secure-ipv4.pkt │ ├── rcv-rst-last-ack-outside-right-secure-ipv6.pkt │ ├── rcv-rst-last-ack-right-edge-insecure-ipv4.pkt │ ├── rcv-rst-last-ack-right-edge-insecure-ipv6.pkt │ ├── rcv-rst-last-ack-right-edge-secure-ipv4.pkt │ ├── rcv-rst-last-ack-right-edge-secure-ipv6.pkt │ └── run-all-rcv-rst-last-ack-tests ├── rcv-rst-listen │ ├── README.md │ ├── all-rcv-rst-listen-tests │ ├── rcv-rst-with-data-listen-ipv4.pkt │ ├── rcv-rst-with-data-listen-ipv6.pkt │ ├── rcv-rst-without-data-listen-ipv4.pkt │ ├── rcv-rst-without-data-listen-ipv6.pkt │ └── run-all-rcv-rst-listen-tests ├── rcv-rst-syn-rcvd │ ├── README.md │ ├── all-rcv-rst-syn-rcvd-tests │ ├── rcv-rst-syn-rcvd-via-listen-left-edge-insecure-ipv4.pkt │ ├── rcv-rst-syn-rcvd-via-listen-left-edge-insecure-ipv6.pkt │ ├── rcv-rst-syn-rcvd-via-listen-left-edge-secure-ipv4.pkt │ ├── rcv-rst-syn-rcvd-via-listen-left-edge-secure-ipv6.pkt │ ├── rcv-rst-syn-rcvd-via-listen-outside-left-insecure-ipv4.pkt │ ├── rcv-rst-syn-rcvd-via-listen-outside-left-insecure-ipv6.pkt │ ├── rcv-rst-syn-rcvd-via-listen-outside-left-secure-ipv4.pkt │ ├── rcv-rst-syn-rcvd-via-listen-outside-left-secure-ipv6.pkt │ ├── rcv-rst-syn-rcvd-via-listen-outside-right-insecure-ipv4.pkt │ ├── rcv-rst-syn-rcvd-via-listen-outside-right-insecure-ipv6.pkt │ ├── rcv-rst-syn-rcvd-via-listen-outside-right-secure-ipv4.pkt │ ├── rcv-rst-syn-rcvd-via-listen-outside-right-secure-ipv6.pkt │ ├── rcv-rst-syn-rcvd-via-listen-right-edge-insecure-ipv4.pkt │ ├── rcv-rst-syn-rcvd-via-listen-right-edge-insecure-ipv6.pkt │ ├── rcv-rst-syn-rcvd-via-listen-right-edge-secure-ipv4.pkt │ ├── rcv-rst-syn-rcvd-via-listen-right-edge-secure-ipv6.pkt │ ├── rcv-rst-syn-rcvd-via-syn-sent-left-edge-insecure-ipv4.pkt │ ├── rcv-rst-syn-rcvd-via-syn-sent-left-edge-insecure-ipv6.pkt │ ├── rcv-rst-syn-rcvd-via-syn-sent-left-edge-secure-ipv4.pkt │ ├── rcv-rst-syn-rcvd-via-syn-sent-left-edge-secure-ipv6.pkt │ ├── rcv-rst-syn-rcvd-via-syn-sent-outside-left-insecure-ipv4.pkt │ ├── rcv-rst-syn-rcvd-via-syn-sent-outside-left-insecure-ipv6.pkt │ ├── rcv-rst-syn-rcvd-via-syn-sent-outside-left-secure-ipv4.pkt │ ├── rcv-rst-syn-rcvd-via-syn-sent-outside-left-secure-ipv6.pkt │ ├── rcv-rst-syn-rcvd-via-syn-sent-outside-right-insecure-ipv4.pkt │ ├── rcv-rst-syn-rcvd-via-syn-sent-outside-right-insecure-ipv6.pkt │ ├── rcv-rst-syn-rcvd-via-syn-sent-outside-right-secure-ipv4.pkt │ ├── rcv-rst-syn-rcvd-via-syn-sent-outside-right-secure-ipv6.pkt │ ├── rcv-rst-syn-rcvd-via-syn-sent-right-edge-insecure-ipv4.pkt │ ├── rcv-rst-syn-rcvd-via-syn-sent-right-edge-insecure-ipv6.pkt │ ├── rcv-rst-syn-rcvd-via-syn-sent-right-edge-secure-ipv4.pkt │ ├── rcv-rst-syn-rcvd-via-syn-sent-right-edge-secure-ipv6.pkt │ └── run-all-rcv-rst-syn-rcvd-tests ├── rcv-rst-syn-sent │ ├── README.md │ ├── all-rcv-rst-syn-sent-tests │ ├── rcv-rst-with-data-syn-sent-ipv4.pkt │ ├── rcv-rst-with-data-syn-sent-ipv6.pkt │ ├── rcv-rst-without-data-syn-sent-ipv4.pkt │ ├── rcv-rst-without-data-syn-sent-ipv6.pkt │ └── run-all-rcv-rst-syn-sent-tests ├── rcv-rst-time-wait │ ├── README.md │ ├── all-rcv-rst-time-wait-tests │ ├── rcv-rst-time-wait-using-shutdown-left-edge-insecure-ipv4.pkt │ ├── rcv-rst-time-wait-using-shutdown-left-edge-insecure-ipv6.pkt │ ├── rcv-rst-time-wait-using-shutdown-left-edge-secure-ipv4.pkt │ ├── rcv-rst-time-wait-using-shutdown-left-edge-secure-ipv6.pkt │ ├── rcv-rst-time-wait-using-shutdown-outside-left-insecure-ipv4.pkt │ ├── rcv-rst-time-wait-using-shutdown-outside-left-insecure-ipv6.pkt │ ├── rcv-rst-time-wait-using-shutdown-outside-left-secure-ipv4.pkt │ ├── rcv-rst-time-wait-using-shutdown-outside-left-secure-ipv6.pkt │ ├── rcv-rst-time-wait-using-shutdown-outside-right-insecure-ipv4.pkt │ ├── rcv-rst-time-wait-using-shutdown-outside-right-insecure-ipv6.pkt │ ├── rcv-rst-time-wait-using-shutdown-outside-right-secure-ipv4.pkt │ ├── rcv-rst-time-wait-using-shutdown-outside-right-secure-ipv6.pkt │ ├── rcv-rst-time-wait-using-shutdown-right-edge-insecure-ipv4.pkt │ ├── rcv-rst-time-wait-using-shutdown-right-edge-insecure-ipv6.pkt │ ├── rcv-rst-time-wait-using-shutdown-right-edge-secure-ipv4.pkt │ ├── rcv-rst-time-wait-using-shutdown-right-edge-secure-ipv6.pkt │ └── run-all-rcv-rst-time-wait-tests ├── rcv-syn-ack-close-wait │ └── README.md ├── rcv-syn-ack-closed │ ├── README.md │ ├── all-rcv-syn-ack-closed-tests │ ├── rcv-syn-ack-with-data-closed-ipv4.pkt │ ├── rcv-syn-ack-with-data-closed-ipv6.pkt │ ├── rcv-syn-ack-without-data-closed-ipv4.pkt │ ├── rcv-syn-ack-without-data-closed-ipv6.pkt │ └── run-all-rcv-syn-ack-closed-tests ├── rcv-syn-ack-closing │ └── README.md ├── rcv-syn-ack-established │ └── README.md ├── rcv-syn-ack-fin-wait-1 │ └── README.md ├── rcv-syn-ack-fin-wait-2 │ └── README.md ├── rcv-syn-ack-last-ack │ └── README.md ├── rcv-syn-ack-listen │ ├── README.md │ ├── all-rcv-syn-ack-listen-tests │ ├── rcv-syn-ack-with-data-listen-ipv4.pkt │ ├── rcv-syn-ack-with-data-listen-ipv6.pkt │ ├── rcv-syn-ack-without-data-listen-ipv4.pkt │ ├── rcv-syn-ack-without-data-listen-ipv6.pkt │ └── run-all-rcv-syn-ack-listen-tests ├── rcv-syn-ack-syn-rcvd │ └── README.md ├── rcv-syn-ack-syn-sent │ ├── README.md │ ├── all-rcv-syn-ack-syn-sent-tests │ ├── rcv-syn-ack-with-data-syn-sent-ack-left-edge-ipv4.pkt │ ├── rcv-syn-ack-with-data-syn-sent-ack-left-edge-ipv6.pkt │ ├── rcv-syn-ack-with-data-syn-sent-ack-outside-left-ipv4.pkt │ ├── rcv-syn-ack-with-data-syn-sent-ack-outside-left-ipv6.pkt │ ├── rcv-syn-ack-with-data-syn-sent-ack-outside-right-ipv4.pkt │ ├── rcv-syn-ack-with-data-syn-sent-ack-outside-right-ipv6.pkt │ ├── rcv-syn-ack-without-data-syn-sent-ack-left-edge-ipv4.pkt │ ├── rcv-syn-ack-without-data-syn-sent-ack-left-edge-ipv6.pkt │ ├── rcv-syn-ack-without-data-syn-sent-ack-outside-left-ipv4.pkt │ ├── rcv-syn-ack-without-data-syn-sent-ack-outside-left-ipv6.pkt │ ├── rcv-syn-ack-without-data-syn-sent-ack-outside-right-ipv4.pkt │ ├── rcv-syn-ack-without-data-syn-sent-ack-outside-right-ipv6.pkt │ └── run-all-rcv-syn-ack-syn-sent-tests ├── rcv-syn-ack-time-wait │ ├── README.md │ ├── all-rcv-syn-ack-time-wait-tests │ ├── rcv-syn-ack-time-wait-using-shutdown-left-edge-insecure-ipv4.pkt │ ├── rcv-syn-ack-time-wait-using-shutdown-left-edge-insecure-ipv6.pkt │ ├── rcv-syn-ack-time-wait-using-shutdown-left-edge-secure-ipv4.pkt │ ├── rcv-syn-ack-time-wait-using-shutdown-left-edge-secure-ipv6.pkt │ ├── rcv-syn-ack-time-wait-using-shutdown-outside-left-insecure-ipv4.pkt │ ├── rcv-syn-ack-time-wait-using-shutdown-outside-left-insecure-ipv6.pkt │ ├── rcv-syn-ack-time-wait-using-shutdown-outside-left-secure-ipv4.pkt │ ├── rcv-syn-ack-time-wait-using-shutdown-outside-left-secure-ipv6.pkt │ ├── rcv-syn-ack-time-wait-using-shutdown-outside-right-insecure-ipv4.pkt │ ├── rcv-syn-ack-time-wait-using-shutdown-outside-right-insecure-ipv6.pkt │ ├── rcv-syn-ack-time-wait-using-shutdown-outside-right-secure-ipv4.pkt │ ├── rcv-syn-ack-time-wait-using-shutdown-outside-right-secure-ipv6.pkt │ ├── rcv-syn-ack-time-wait-using-shutdown-right-edge-insecure-ipv4.pkt │ ├── rcv-syn-ack-time-wait-using-shutdown-right-edge-insecure-ipv6.pkt │ ├── rcv-syn-ack-time-wait-using-shutdown-right-edge-secure-ipv4.pkt │ ├── rcv-syn-ack-time-wait-using-shutdown-right-edge-secure-ipv6.pkt │ └── run-all-rcv-syn-ack-time-wait-tests ├── rcv-syn-close-wait │ ├── README.md │ ├── all-rcv-syn-close-wait-tests │ ├── rcv-syn-close-wait-left-edge-insecure-ipv4.pkt │ ├── rcv-syn-close-wait-left-edge-insecure-ipv6.pkt │ ├── rcv-syn-close-wait-left-edge-secure-ipv4.pkt │ ├── rcv-syn-close-wait-left-edge-secure-ipv6.pkt │ ├── rcv-syn-close-wait-outside-left-insecure-ipv4.pkt │ ├── rcv-syn-close-wait-outside-left-insecure-ipv6.pkt │ ├── rcv-syn-close-wait-outside-left-secure-ipv4.pkt │ ├── rcv-syn-close-wait-outside-left-secure-ipv6.pkt │ ├── rcv-syn-close-wait-outside-right-insecure-ipv4.pkt │ ├── rcv-syn-close-wait-outside-right-insecure-ipv6.pkt │ ├── rcv-syn-close-wait-outside-right-secure-ipv4.pkt │ ├── rcv-syn-close-wait-outside-right-secure-ipv6.pkt │ ├── rcv-syn-close-wait-right-edge-insecure-ipv4.pkt │ ├── rcv-syn-close-wait-right-edge-insecure-ipv6.pkt │ ├── rcv-syn-close-wait-right-edge-secure-ipv4.pkt │ ├── rcv-syn-close-wait-right-edge-secure-ipv6.pkt │ └── run-all-rcv-syn-close-wait-tests ├── rcv-syn-closed │ ├── README.md │ ├── all-rcv-syn-closed-tests │ ├── rcv-syn-with-data-closed-ipv4.pkt │ ├── rcv-syn-with-data-closed-ipv6.pkt │ ├── rcv-syn-without-data-closed-ipv4.pkt │ ├── rcv-syn-without-data-closed-ipv6.pkt │ └── run-all-rcv-syn-closed-tests ├── rcv-syn-closing │ ├── README.md │ ├── all-rcv-syn-closing-tests │ ├── rcv-syn-closing-left-edge-insecure-ipv4.pkt │ ├── rcv-syn-closing-left-edge-insecure-ipv6.pkt │ ├── rcv-syn-closing-left-edge-secure-ipv4.pkt │ ├── rcv-syn-closing-left-edge-secure-ipv6.pkt │ ├── rcv-syn-closing-outside-left-insecure-ipv4.pkt │ ├── rcv-syn-closing-outside-left-insecure-ipv6.pkt │ ├── rcv-syn-closing-outside-left-secure-ipv4.pkt │ ├── rcv-syn-closing-outside-left-secure-ipv6.pkt │ ├── rcv-syn-closing-outside-right-insecure-ipv4.pkt │ ├── rcv-syn-closing-outside-right-insecure-ipv6.pkt │ ├── rcv-syn-closing-outside-right-secure-ipv4.pkt │ ├── rcv-syn-closing-outside-right-secure-ipv6.pkt │ ├── rcv-syn-closing-right-edge-insecure-ipv4.pkt │ ├── rcv-syn-closing-right-edge-insecure-ipv6.pkt │ ├── rcv-syn-closing-right-edge-secure-ipv4.pkt │ ├── rcv-syn-closing-right-edge-secure-ipv6.pkt │ └── run-all-rcv-syn-closing-tests ├── rcv-syn-established │ ├── README.md │ ├── all-rcv-syn-established-tests │ ├── rcv-syn-established-left-edge-insecure-ipv4.pkt │ ├── rcv-syn-established-left-edge-insecure-ipv6.pkt │ ├── rcv-syn-established-left-edge-secure-ipv4.pkt │ ├── rcv-syn-established-left-edge-secure-ipv6.pkt │ ├── rcv-syn-established-outside-left-insecure-ipv4.pkt │ ├── rcv-syn-established-outside-left-insecure-ipv6.pkt │ ├── rcv-syn-established-outside-left-secure-ipv4.pkt │ ├── rcv-syn-established-outside-left-secure-ipv6.pkt │ ├── rcv-syn-established-outside-right-insecure-ipv4.pkt │ ├── rcv-syn-established-outside-right-insecure-ipv6.pkt │ ├── rcv-syn-established-outside-right-secure-ipv4.pkt │ ├── rcv-syn-established-outside-right-secure-ipv6.pkt │ ├── rcv-syn-established-right-edge-insecure-ipv4.pkt │ ├── rcv-syn-established-right-edge-insecure-ipv6.pkt │ ├── rcv-syn-established-right-edge-secure-ipv4.pkt │ ├── rcv-syn-established-right-edge-secure-ipv6.pkt │ └── run-all-rcv-syn-established-tests ├── rcv-syn-fin-close-wait │ └── README.md ├── rcv-syn-fin-closed │ ├── README.md │ ├── all-rcv-syn-fin-closed-tests │ ├── rcv-syn-fin-with-data-closed-ipv4.pkt │ ├── rcv-syn-fin-with-data-closed-ipv6.pkt │ ├── rcv-syn-fin-without-data-closed-ipv4.pkt │ ├── rcv-syn-fin-without-data-closed-ipv6.pkt │ └── run-all-rcv-syn-fin-closed-tests ├── rcv-syn-fin-closing │ └── README.md ├── rcv-syn-fin-established │ └── README.md ├── rcv-syn-fin-fin-wait-1 │ └── README.md ├── rcv-syn-fin-fin-wait-2 │ └── README.md ├── rcv-syn-fin-last-ack │ └── README.md ├── rcv-syn-fin-listen │ ├── README.md │ ├── all-rcv-syn-fin-listen-tests │ ├── rcv-syn-fin-with-data-listen-dropping-disabled-ipv4.pkt │ ├── rcv-syn-fin-with-data-listen-dropping-disabled-ipv6.pkt │ ├── rcv-syn-fin-with-data-listen-dropping-enabled-ipv4.pkt │ ├── rcv-syn-fin-with-data-listen-dropping-enabled-ipv6.pkt │ ├── rcv-syn-fin-without-data-listen-dropping-disabled-ipv4.pkt │ ├── rcv-syn-fin-without-data-listen-dropping-disabled-ipv6.pkt │ ├── rcv-syn-fin-without-data-listen-dropping-enabled-ipv4.pkt │ ├── rcv-syn-fin-without-data-listen-dropping-enabled-ipv6.pkt │ └── run-all-rcv-syn-fin-listen-tests ├── rcv-syn-fin-syn-rcvd │ └── README.md ├── rcv-syn-fin-syn-sent │ ├── README.md │ ├── all-rcv-syn-fin-syn-sent-tests │ ├── rcv-syn-fin-with-data-syn-sent-dropping-disabled-ipv4.pkt │ ├── rcv-syn-fin-with-data-syn-sent-dropping-disabled-ipv6.pkt │ ├── rcv-syn-fin-with-data-syn-sent-dropping-enabled-ipv4.pkt │ ├── rcv-syn-fin-with-data-syn-sent-dropping-enabled-ipv6.pkt │ ├── rcv-syn-fin-without-data-syn-sent-dropping-disabled-ipv4.pkt │ ├── rcv-syn-fin-without-data-syn-sent-dropping-disabled-ipv6.pkt │ ├── rcv-syn-fin-without-data-syn-sent-dropping-enabled-ipv4.pkt │ ├── rcv-syn-fin-without-data-syn-sent-dropping-enabled-ipv6.pkt │ └── run-all-rcv-syn-fin-syn-sent-tests ├── rcv-syn-fin-time-wait │ ├── README.md │ ├── all-rcv-syn-fin-time-wait-tests │ ├── rcv-syn-fin-time-wait-using-shutdown-left-edge-insecure-drop-ipv4.pkt │ ├── rcv-syn-fin-time-wait-using-shutdown-left-edge-insecure-drop-ipv6.pkt │ ├── rcv-syn-fin-time-wait-using-shutdown-left-edge-insecure-nodrop-ipv4.pkt │ ├── rcv-syn-fin-time-wait-using-shutdown-left-edge-insecure-nodrop-ipv6.pkt │ ├── rcv-syn-fin-time-wait-using-shutdown-left-edge-secure-drop-ipv4.pkt │ ├── rcv-syn-fin-time-wait-using-shutdown-left-edge-secure-drop-ipv6.pkt │ ├── rcv-syn-fin-time-wait-using-shutdown-left-edge-secure-nodrop-ipv4.pkt │ ├── rcv-syn-fin-time-wait-using-shutdown-left-edge-secure-nodrop-ipv6.pkt │ ├── rcv-syn-fin-time-wait-using-shutdown-outside-left-insecure-drop-ipv4.pkt │ ├── rcv-syn-fin-time-wait-using-shutdown-outside-left-insecure-drop-ipv6.pkt │ ├── rcv-syn-fin-time-wait-using-shutdown-outside-left-insecure-nodrop-ipv4.pkt │ ├── rcv-syn-fin-time-wait-using-shutdown-outside-left-insecure-nodrop-ipv6.pkt │ ├── rcv-syn-fin-time-wait-using-shutdown-outside-left-secure-drop-ipv4.pkt │ ├── rcv-syn-fin-time-wait-using-shutdown-outside-left-secure-drop-ipv6.pkt │ ├── rcv-syn-fin-time-wait-using-shutdown-outside-left-secure-nodrop-ipv4.pkt │ ├── rcv-syn-fin-time-wait-using-shutdown-outside-left-secure-nodrop-ipv6.pkt │ ├── rcv-syn-fin-time-wait-using-shutdown-outside-right-insecure-drop-ipv4.pkt │ ├── rcv-syn-fin-time-wait-using-shutdown-outside-right-insecure-drop-ipv6.pkt │ ├── rcv-syn-fin-time-wait-using-shutdown-outside-right-insecure-nodrop-ipv4.pkt │ ├── rcv-syn-fin-time-wait-using-shutdown-outside-right-insecure-nodrop-ipv6.pkt │ ├── rcv-syn-fin-time-wait-using-shutdown-outside-right-secure-drop-ipv4.pkt │ ├── rcv-syn-fin-time-wait-using-shutdown-outside-right-secure-drop-ipv6.pkt │ ├── rcv-syn-fin-time-wait-using-shutdown-outside-right-secure-nodrop-ipv4.pkt │ ├── rcv-syn-fin-time-wait-using-shutdown-outside-right-secure-nodrop-ipv6.pkt │ ├── rcv-syn-fin-time-wait-using-shutdown-right-edge-insecure-drop-ipv4.pkt │ ├── rcv-syn-fin-time-wait-using-shutdown-right-edge-insecure-drop-ipv6.pkt │ ├── rcv-syn-fin-time-wait-using-shutdown-right-edge-insecure-nodrop-ipv4.pkt │ ├── rcv-syn-fin-time-wait-using-shutdown-right-edge-insecure-nodrop-ipv6.pkt │ ├── rcv-syn-fin-time-wait-using-shutdown-right-edge-secure-drop-ipv4.pkt │ ├── rcv-syn-fin-time-wait-using-shutdown-right-edge-secure-drop-ipv6.pkt │ ├── rcv-syn-fin-time-wait-using-shutdown-right-edge-secure-nodrop-ipv4.pkt │ ├── rcv-syn-fin-time-wait-using-shutdown-right-edge-secure-nodrop-ipv6.pkt │ └── run-all-rcv-syn-fin-time-wait-tests ├── rcv-syn-fin-wait-1 │ ├── README.md │ ├── all-rcv-syn-fin-wait-1-tests │ ├── rcv-syn-fin-wait-1-left-edge-insecure-ipv4.pkt │ ├── rcv-syn-fin-wait-1-left-edge-insecure-ipv6.pkt │ ├── rcv-syn-fin-wait-1-left-edge-secure-ipv4.pkt │ ├── rcv-syn-fin-wait-1-left-edge-secure-ipv6.pkt │ ├── rcv-syn-fin-wait-1-outside-left-insecure-ipv4.pkt │ ├── rcv-syn-fin-wait-1-outside-left-insecure-ipv6.pkt │ ├── rcv-syn-fin-wait-1-outside-left-secure-ipv4.pkt │ ├── rcv-syn-fin-wait-1-outside-left-secure-ipv6.pkt │ ├── rcv-syn-fin-wait-1-outside-right-insecure-ipv4.pkt │ ├── rcv-syn-fin-wait-1-outside-right-insecure-ipv6.pkt │ ├── rcv-syn-fin-wait-1-outside-right-secure-ipv4.pkt │ ├── rcv-syn-fin-wait-1-outside-right-secure-ipv6.pkt │ ├── rcv-syn-fin-wait-1-right-edge-insecure-ipv4.pkt │ ├── rcv-syn-fin-wait-1-right-edge-insecure-ipv6.pkt │ ├── rcv-syn-fin-wait-1-right-edge-secure-ipv4.pkt │ ├── rcv-syn-fin-wait-1-right-edge-secure-ipv6.pkt │ └── run-all-rcv-syn-fin-wait-1-tests ├── rcv-syn-fin-wait-2 │ ├── README.md │ ├── all-rcv-syn-fin-wait-2-tests │ ├── rcv-syn-fin-wait-2-left-edge-insecure-ipv4.pkt │ ├── rcv-syn-fin-wait-2-left-edge-insecure-ipv6.pkt │ ├── rcv-syn-fin-wait-2-left-edge-secure-ipv4.pkt │ ├── rcv-syn-fin-wait-2-left-edge-secure-ipv6.pkt │ ├── rcv-syn-fin-wait-2-outside-left-insecure-ipv4.pkt │ ├── rcv-syn-fin-wait-2-outside-left-insecure-ipv6.pkt │ ├── rcv-syn-fin-wait-2-outside-left-secure-ipv4.pkt │ ├── rcv-syn-fin-wait-2-outside-left-secure-ipv6.pkt │ ├── rcv-syn-fin-wait-2-outside-right-insecure-ipv4.pkt │ ├── rcv-syn-fin-wait-2-outside-right-insecure-ipv6.pkt │ ├── rcv-syn-fin-wait-2-outside-right-secure-ipv4.pkt │ ├── rcv-syn-fin-wait-2-outside-right-secure-ipv6.pkt │ ├── rcv-syn-fin-wait-2-right-edge-insecure-ipv4.pkt │ ├── rcv-syn-fin-wait-2-right-edge-insecure-ipv6.pkt │ ├── rcv-syn-fin-wait-2-right-edge-secure-ipv4.pkt │ ├── rcv-syn-fin-wait-2-right-edge-secure-ipv6.pkt │ └── run-all-rcv-syn-fin-wait-2-tests ├── rcv-syn-last-ack │ ├── README.md │ ├── all-rcv-syn-last-ack-tests │ ├── rcv-syn-last-ack-left-edge-insecure-ipv4.pkt │ ├── rcv-syn-last-ack-left-edge-insecure-ipv6.pkt │ ├── rcv-syn-last-ack-left-edge-secure-ipv4.pkt │ ├── rcv-syn-last-ack-left-edge-secure-ipv6.pkt │ ├── rcv-syn-last-ack-outside-left-insecure-ipv4.pkt │ ├── rcv-syn-last-ack-outside-left-insecure-ipv6.pkt │ ├── rcv-syn-last-ack-outside-left-secure-ipv4.pkt │ ├── rcv-syn-last-ack-outside-left-secure-ipv6.pkt │ ├── rcv-syn-last-ack-outside-right-insecure-ipv4.pkt │ ├── rcv-syn-last-ack-outside-right-insecure-ipv6.pkt │ ├── rcv-syn-last-ack-outside-right-secure-ipv4.pkt │ ├── rcv-syn-last-ack-outside-right-secure-ipv6.pkt │ ├── rcv-syn-last-ack-right-edge-insecure-ipv4.pkt │ ├── rcv-syn-last-ack-right-edge-insecure-ipv6.pkt │ ├── rcv-syn-last-ack-right-edge-secure-ipv4.pkt │ ├── rcv-syn-last-ack-right-edge-secure-ipv6.pkt │ └── run-all-rcv-syn-last-ack-tests ├── rcv-syn-listen │ ├── README.md │ ├── all-rcv-syn-listen-tests │ ├── rcv-syn-with-data-listen-ipv4.pkt │ ├── rcv-syn-with-data-listen-ipv6.pkt │ ├── rcv-syn-without-data-listen-ipv4.pkt │ ├── rcv-syn-without-data-listen-ipv6.pkt │ └── run-all-rcv-syn-listen-tests ├── rcv-syn-syn-rcvd │ └── README.md ├── rcv-syn-syn-sent │ ├── README.md │ ├── all-rcv-syn-syn-sent-tests │ ├── rcv-syn-with-data-syn-sent-ipv4.pkt │ ├── rcv-syn-with-data-syn-sent-ipv6.pkt │ ├── rcv-syn-without-data-syn-sent-ipv4.pkt │ ├── rcv-syn-without-data-syn-sent-ipv6.pkt │ └── run-all-rcv-syn-syn-sent-tests ├── rcv-syn-time-wait │ ├── README.md │ ├── all-rcv-syn-time-wait-tests │ ├── rcv-syn-time-wait-using-shutdown-left-edge-insecure-ipv4.pkt │ ├── rcv-syn-time-wait-using-shutdown-left-edge-insecure-ipv6.pkt │ ├── rcv-syn-time-wait-using-shutdown-left-edge-secure-ipv4.pkt │ ├── rcv-syn-time-wait-using-shutdown-left-edge-secure-ipv6.pkt │ ├── rcv-syn-time-wait-using-shutdown-outside-left-insecure-ipv4.pkt │ ├── rcv-syn-time-wait-using-shutdown-outside-left-insecure-ipv6.pkt │ ├── rcv-syn-time-wait-using-shutdown-outside-left-secure-ipv4.pkt │ ├── rcv-syn-time-wait-using-shutdown-outside-left-secure-ipv6.pkt │ ├── rcv-syn-time-wait-using-shutdown-outside-right-insecure-ipv4.pkt │ ├── rcv-syn-time-wait-using-shutdown-outside-right-insecure-ipv6.pkt │ ├── rcv-syn-time-wait-using-shutdown-outside-right-secure-ipv4.pkt │ ├── rcv-syn-time-wait-using-shutdown-outside-right-secure-ipv6.pkt │ ├── rcv-syn-time-wait-using-shutdown-right-edge-insecure-ipv4.pkt │ ├── rcv-syn-time-wait-using-shutdown-right-edge-insecure-ipv6.pkt │ ├── rcv-syn-time-wait-using-shutdown-right-edge-secure-ipv4.pkt │ ├── rcv-syn-time-wait-using-shutdown-right-edge-secure-ipv6.pkt │ └── run-all-rcv-syn-time-wait-tests ├── run-all-state-event-engine-tests └── tcpstate.d └── tcp-over-udp ├── active-connection-setup-ipv4.pkt ├── active-connection-setup-ipv6.pkt ├── all-tcp-over-udp-tests ├── getsockopt-tcp-maxseg-established-ipv4.pkt ├── getsockopt-tcp-maxseg-established-ipv6.pkt ├── passive-connection-setup-ipv4.pkt ├── passive-connection-setup-ipv6.pkt ├── rcv-ack-closing-ipv4.pkt ├── rcv-ack-closing-ipv6.pkt ├── rcv-ack-finwait-1-ipv4.pkt ├── rcv-ack-finwait-1-ipv6.pkt ├── rcv-ack-last-ack-ipv4.pkt ├── rcv-ack-last-ack-ipv6.pkt ├── rcv-ack-syn-rcvd-syn-cache-ipv4.pkt ├── rcv-ack-syn-rcvd-syn-cache-ipv6.pkt ├── rcv-ack-syn-rcvd-syn-cookie-ipv4.pkt ├── rcv-ack-syn-rcvd-syn-cookie-ipv6.pkt ├── rcv-ack-syn-rcvd-via-syn-sent-ipv4.pkt ├── rcv-ack-syn-rcvd-via-syn-sent-ipv6.pkt ├── rcv-ack-timewait-ipv4.pkt ├── rcv-ack-timewait-ipv6.pkt ├── rcv-fin-estab-ipv4.pkt ├── rcv-fin-estab-ipv6.pkt ├── rcv-fin-finwait-1-ipv4.pkt ├── rcv-fin-finwait-1-ipv6.pkt ├── rcv-fin-finwait-2-ipv4.pkt ├── rcv-fin-finwait-2-ipv6.pkt ├── rcv-fin-timewait-ipv4.pkt ├── rcv-fin-timewait-ipv6.pkt ├── rcv-icmp-admin-prohibited-syn-sent-ipv6.pkt ├── rcv-icmp-fragmentation-needed-established-ipv4.pkt ├── rcv-icmp-host-prohibited-syn-sent-ipv4.pkt ├── rcv-icmp-net-prohibited-syn-sent-ipv4.pkt ├── rcv-icmp-packet-too-big-established-ipv6.pkt ├── rcv-icmp-port-unreachable-syn-sent-ipv4.pkt ├── rcv-icmp-port-unreachable-syn-sent-ipv6.pkt ├── rcv-rst-encaps-syn-sent-ipv4.pkt ├── rcv-rst-encaps-syn-sent-ipv6.pkt ├── rcv-rst-plain-syn-sent-ipv4.pkt ├── rcv-rst-plain-syn-sent-ipv6.pkt ├── rcv-syn-ack-syn-sent-ipv4.pkt ├── rcv-syn-ack-syn-sent-ipv6.pkt ├── rcv-syn-closed-ipv4.pkt ├── rcv-syn-closed-ipv6.pkt ├── rcv-syn-timewait-ipv4.pkt ├── rcv-syn-timewait-ipv6.pkt ├── run-all-tcp-over-udp-tests ├── setsockopt-ipv6-use-min-mtu-closed-ipv6.pkt ├── setsockopt-remote-udp-encaps-port-closed-ipv4.pkt ├── setsockopt-remote-udp-encaps-port-closed-ipv6.pkt ├── setsockopt-remote-udp-encaps-port-listen-ipv4.pkt ├── setsockopt-remote-udp-encaps-port-listen-ipv6.pkt ├── setsockopt-remote-udp-encaps-port-syn-sent-ipv4.pkt ├── setsockopt-remote-udp-encaps-port-syn-sent-ipv6.pkt ├── setsockopt-tcp-maxseg-established-ipv4.pkt ├── setsockopt-tcp-maxseg-established-ipv6.pkt ├── sysctl-pmtud-blackhole-detection-ipv4.pkt ├── sysctl-pmtud-blackhole-detection-ipv4.pkt.timeout ├── sysctl-pmtud-blackhole-detection-ipv6.pkt └── sysctl-pmtud-blackhole-detection-ipv6.pkt.timeout /.gitignore: -------------------------------------------------------------------------------- 1 | *.out 2 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | Copyright (c) 2016, Michael Tüxen 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are met: 6 | 7 | * Redistributions of source code must retain the above copyright notice, this 8 | list of conditions and the following disclaimer. 9 | 10 | * Redistributions in binary form must reproduce the above copyright notice, 11 | this list of conditions and the following disclaimer in the documentation 12 | and/or other materials provided with the distribution. 13 | 14 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 15 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 17 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 18 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 20 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 21 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 22 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 23 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 24 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | # $FreeBSD$ 2 | 3 | TESTSDIR= ${LOCALBASE}/tests/tcptestsuite 4 | ATF_TESTS_SH= tcptestsuite_atf_test 5 | TEST_METADATA= required_programs="${LOCALBASE}/bin/packetdrill" 6 | CLEANFILES+= tcptestsuite_atf_test.sh 7 | NO_OBJ= 8 | 9 | tcptestsuite_atf_test.sh: ${.CURDIR}/make_atf.sh 10 | /bin/sh ${.CURDIR}/make_atf.sh >$@ 11 | 12 | .include 13 | -------------------------------------------------------------------------------- /double-check.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2021 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | cmd=$* 29 | 30 | $cmd 31 | result=$? 32 | if [ $result -ne 0 ] ; then 33 | $cmd 34 | result=$? 35 | fi 36 | 37 | exit $result 38 | -------------------------------------------------------------------------------- /fast-open/README.md: -------------------------------------------------------------------------------- 1 | # Testing the Fast Open extension of TCP 2 | 3 | ## Description 4 | The TCP Fast Open extension allows a 0-RTT connetion setup for TCP. 5 | 6 | ## References 7 | * [RFC 7413: *Transmission Control Protocol*](https://tools.ietf.org/html/rfc7413) 8 | -------------------------------------------------------------------------------- /fast-open/client/client-handle-cookie-update-of-length-01.exfail: -------------------------------------------------------------------------------- 1 | Bug. 2 | -------------------------------------------------------------------------------- /fast-open/client/client-handle-cookie-update-of-length-02.exfail: -------------------------------------------------------------------------------- 1 | Bug. 2 | -------------------------------------------------------------------------------- /fast-open/client/client-handle-cookie-update-of-length-03.exfail: -------------------------------------------------------------------------------- 1 | Bug. 2 | -------------------------------------------------------------------------------- /fast-open/client/client-handle-cookie-update-of-length-05.exfail: -------------------------------------------------------------------------------- 1 | Bug. 2 | -------------------------------------------------------------------------------- /fast-open/client/client-handle-cookie-update-of-length-07.exfail: -------------------------------------------------------------------------------- 1 | Bug. 2 | -------------------------------------------------------------------------------- /fast-open/client/client-handle-cookie-update-of-length-09.exfail: -------------------------------------------------------------------------------- 1 | Bug. 2 | -------------------------------------------------------------------------------- /fast-open/client/client-handle-cookie-update-of-length-11.exfail: -------------------------------------------------------------------------------- 1 | Bug. 2 | -------------------------------------------------------------------------------- /fast-open/client/client-handle-cookie-update-of-length-13.exfail: -------------------------------------------------------------------------------- 1 | Bug. 2 | -------------------------------------------------------------------------------- /fast-open/client/client-handle-cookie-update-of-length-15.exfail: -------------------------------------------------------------------------------- 1 | Bug. 2 | -------------------------------------------------------------------------------- /fast-open/client/client-handle-cookie-update-of-length-17.exfail: -------------------------------------------------------------------------------- 1 | Bug. 2 | -------------------------------------------------------------------------------- /fast-open/client/client-handle-cookie-update-of-length-18.exfail: -------------------------------------------------------------------------------- 1 | Bug. 2 | -------------------------------------------------------------------------------- /fast-open/client/client-handle-cookie-update-of-length-19.exfail: -------------------------------------------------------------------------------- 1 | Bug. 2 | -------------------------------------------------------------------------------- /fast-open/client/client-handle-cookie-update-of-length-20.exfail: -------------------------------------------------------------------------------- 1 | Bug. 2 | -------------------------------------------------------------------------------- /fast-open/client/client-handle-cookie-update-of-length-21.exfail: -------------------------------------------------------------------------------- 1 | Bug. 2 | -------------------------------------------------------------------------------- /fast-open/client/client-handle-cookie-update-of-length-22.exfail: -------------------------------------------------------------------------------- 1 | Bug. 2 | -------------------------------------------------------------------------------- /fast-open/client/client-handle-cookie-update-of-length-23.exfail: -------------------------------------------------------------------------------- 1 | Bug. 2 | -------------------------------------------------------------------------------- /fast-open/client/client-handle-cookie-update-of-length-24.exfail: -------------------------------------------------------------------------------- 1 | Bug. 2 | -------------------------------------------------------------------------------- /fast-open/client/client-handle-cookie-update-of-length-25.exfail: -------------------------------------------------------------------------------- 1 | Bug. 2 | -------------------------------------------------------------------------------- /fast-open/client/client-handle-cookie-update-of-length-26.exfail: -------------------------------------------------------------------------------- 1 | Bug. 2 | -------------------------------------------------------------------------------- /fast-open/client/client-handle-cookie-update-of-length-27.exfail: -------------------------------------------------------------------------------- 1 | Bug. 2 | -------------------------------------------------------------------------------- /fast-open/client/client-handle-cookie-update-of-length-28.exfail: -------------------------------------------------------------------------------- 1 | Bug. 2 | -------------------------------------------------------------------------------- /fast-open/client/client-handle-cookie-update-of-length-29.exfail: -------------------------------------------------------------------------------- 1 | Bug. 2 | -------------------------------------------------------------------------------- /fast-open/client/client-handle-cookie-update-of-length-30.exfail: -------------------------------------------------------------------------------- 1 | Bug. 2 | -------------------------------------------------------------------------------- /fast-open/client/client-handle-cookie-update-of-length-31.exfail: -------------------------------------------------------------------------------- 1 | Bug. 2 | -------------------------------------------------------------------------------- /fast-open/client/client-handle-cookie-update-of-length-32.exfail: -------------------------------------------------------------------------------- 1 | Bug. 2 | -------------------------------------------------------------------------------- /fast-open/client/client-handle-cookie-update-of-length-33.exfail: -------------------------------------------------------------------------------- 1 | Bug. 2 | -------------------------------------------------------------------------------- /fast-open/client/client-handle-cookie-update-of-length-34.exfail: -------------------------------------------------------------------------------- 1 | Bug. 2 | -------------------------------------------------------------------------------- /fast-open/client/client-handle-cookie-update-of-length-35.exfail: -------------------------------------------------------------------------------- 1 | Bug. 2 | -------------------------------------------------------------------------------- /fast-open/client/client-handle-cookie-update-of-length-36.exfail: -------------------------------------------------------------------------------- 1 | Bug. 2 | -------------------------------------------------------------------------------- /fast-open/client/client-handle-cookie-update-of-length-37.exfail: -------------------------------------------------------------------------------- 1 | Bug. 2 | -------------------------------------------------------------------------------- /fast-open/client/client-handle-cookie-update-of-length-38.exfail: -------------------------------------------------------------------------------- 1 | Bug. 2 | -------------------------------------------------------------------------------- /fast-open/client/client-server-not-updating-cookie.exfail: -------------------------------------------------------------------------------- 1 | Bug. 2 | -------------------------------------------------------------------------------- /fast-open/client/run-all-fast-open-client-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2017 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../../run-tests.sh $* all-fast-open-client-tests 29 | -------------------------------------------------------------------------------- /fast-open/run-all-fast-open-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2017 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../run-tests.sh $* \ 29 | client/all-fast-open-client-tests \ 30 | server/all-fast-open-server-tests 31 | -------------------------------------------------------------------------------- /fast-open/server/all-fast-open-server-tests: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freebsd-net/tcp-testsuite/f6038fe58164660e0bce96dea5ae3ff0d930d122/fast-open/server/all-fast-open-server-tests -------------------------------------------------------------------------------- /fast-open/server/run-all-fast-open-server-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2017 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../../run-tests.sh $* all-fast-open-server-tests 29 | -------------------------------------------------------------------------------- /rcv-data-segments/run-all-rcv-data-segments-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2017 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../run-tests.sh -T 25000 $* all-rcv-data-segments-tests 29 | -------------------------------------------------------------------------------- /rcv-icmp/all-rcv-icmp-tests: -------------------------------------------------------------------------------- 1 | rcv-icmp/rcv-icmp-hard-error-proto-unreachable-ipv4 2 | rcv-icmp/rcv-icmp-hard-error-proto-unreachable-ipv6 3 | rcv-icmp/rcv-icmp-hard-error-port-unreachable-ipv4 4 | rcv-icmp/rcv-icmp-hard-error-port-unreachable-ipv6 5 | rcv-icmp/rcv-icmp-hard-error-net-prohibited-ipv4 6 | rcv-icmp/rcv-icmp-hard-error-host-prohibited-ipv4 7 | rcv-icmp/rcv-icmp-hard-error-comm-prohibited-ipv4 8 | rcv-icmp/rcv-icmp-hard-error-comm-prohibited-ipv6 9 | rcv-icmp/rcv-icmp-hard-error-ttl-exceeded-ipv4 10 | rcv-icmp/rcv-icmp-hard-error-ttl-exceeded-ipv6 11 | rcv-icmp/rcv-icmp-hard-error-ignored-ipv4 12 | rcv-icmp/rcv-icmp-hard-error-ignored-ipv6 13 | -------------------------------------------------------------------------------- /rcv-icmp/run-all-rcv-icmp-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2017 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../run-tests.sh $* all-rcv-icmp-tests 29 | -------------------------------------------------------------------------------- /snd-syn/all-snd-syn-tests: -------------------------------------------------------------------------------- 1 | snd-syn/snd-syn-with-default-options-ipv4 2 | snd-syn/snd-syn-with-default-options-ipv6 3 | snd-syn/snd-syn-without-options-ipv4 4 | snd-syn/snd-syn-without-options-ipv6 5 | snd-syn/snd-syn-rtx-keepinit-ipv4 6 | snd-syn/snd-syn-rtx-keepinit-ipv6 7 | snd-syn/snd-syn-rtx-max-number-ipv4 8 | snd-syn/snd-syn-rtx-max-number-ipv6 9 | snd-syn/snd-syn-rtx-drop-options-ipv4 10 | snd-syn/snd-syn-rtx-drop-options-ipv6 11 | snd-syn/snd-syn-mss-inherited-from-mtu-72-ipv4 12 | snd-syn/snd-syn-mss-inherited-from-mtu-9000-ipv4 13 | snd-syn/snd-syn-mss-inherited-from-mtu-65535-ipv4 14 | snd-syn/snd-syn-mss-inherited-from-mtu-1280-ipv6 15 | snd-syn/snd-syn-mss-inherited-from-mtu-9000-ipv6 16 | snd-syn/snd-syn-mss-inherited-from-mtu-65535-ipv6 17 | snd-syn/snd-syn-without-sack-ipv4 18 | snd-syn/snd-syn-without-sack-ipv6 19 | snd-syn/snd-syn-without-ws-and-ts-ipv4 20 | snd-syn/snd-syn-without-ws-and-ts-ipv6 21 | snd-syn/snd-syn-without-sack-and-ws-and-ts-ipv4 22 | snd-syn/snd-syn-without-sack-and-ws-and-ts-ipv6 23 | snd-syn/snd-syn-with-min-ws-ipv4 24 | snd-syn/snd-syn-with-min-ws-ipv6 25 | snd-syn/snd-syn-with-max-ws-ipv4 26 | snd-syn/snd-syn-with-max-ws-ipv6 27 | snd-syn/snd-syn-with-ecn-ipv4 28 | snd-syn/snd-syn-with-ecn-ipv6 29 | snd-syn/snd-syn-with-ecn-alt-maxretries-ipv4 30 | snd-syn/snd-syn-with-ecn-alt-maxretries-ipv6 31 | -------------------------------------------------------------------------------- /snd-syn/run-all-snd-syn-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2017 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../run-tests.sh -t $(cat timeout) $* all-snd-syn-tests 29 | -------------------------------------------------------------------------------- /snd-syn/snd-syn-mss-inherited-from-mtu-1280-ipv6.pkt: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2016 Michael Tuexen 3 | // All rights reserved. 4 | // 5 | // Redistribution and use in source and binary forms, with or without 6 | // modification, are permitted provided that the following conditions 7 | // are met: 8 | // 1. Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // 2. Redistributions in binary form must reproduce the above copyright 11 | // notice, this list of conditions and the following disclaimer in the 12 | // documentation and/or other materials provided with the distribution. 13 | // 14 | // THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 15 | // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17 | // ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 18 | // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19 | // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20 | // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21 | // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22 | // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23 | // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 | // SUCH DAMAGE. 25 | // 26 | 27 | --ip_version=ipv6 28 | --tolerance_usecs=25000 29 | --mtu=1280 30 | 31 | // Ensure that all relevant sysctl variables have their default variables. 32 | 0.00 `sysctl -w net.inet.tcp.rfc1323=1` 33 | +0.00 `sysctl -w net.inet.tcp.sack.enable=1` 34 | +0.00 `sysctl -w net.inet.tcp.ecn.enable=2` 35 | +0.00 `sysctl -w net.inet.tcp.rexmit_initial=1000` 36 | +0.00 `sysctl -w net.inet.tcp.rexmit_slop=200` 37 | +0.00 `sysctl -w net.inet.tcp.rexmit_drop_options=0` 38 | +0.00 `sysctl -w kern.ipc.maxsockbuf=2097152` 39 | +0.00 `sysctl -w net.inet.tcp.recvspace=65536` 40 | +0.00 `sysctl -w net.inet.tcp.sendspace=32768` 41 | // Flush host cache. 42 | +0.00 `sysctl -w net.inet.tcp.hostcache.purgenow=1` 43 | // Create a non-blocking TCP/IPv6 socket 44 | +0.00 socket(..., SOCK_STREAM, IPPROTO_TCP) = 3 45 | +0.00 fcntl(3, F_GETFL) = 0x02 (flags O_RDWR) 46 | +0.00 fcntl(3, F_SETFL, O_RDWR | O_NONBLOCK) = 0 47 | +0.00 connect(3, ..., ...) = -1 EINPROGRESS (Operation now in progress) 48 | +0.00 > S 0:0(0) 49 | +0.00 close(3) = 0 -------------------------------------------------------------------------------- /snd-syn/snd-syn-mss-inherited-from-mtu-72-ipv4.pkt: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2016 Michael Tuexen 3 | // All rights reserved. 4 | // 5 | // Redistribution and use in source and binary forms, with or without 6 | // modification, are permitted provided that the following conditions 7 | // are met: 8 | // 1. Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // 2. Redistributions in binary form must reproduce the above copyright 11 | // notice, this list of conditions and the following disclaimer in the 12 | // documentation and/or other materials provided with the distribution. 13 | // 14 | // THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 15 | // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17 | // ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 18 | // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19 | // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20 | // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21 | // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22 | // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23 | // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 | // SUCH DAMAGE. 25 | // 26 | 27 | --ip_version=ipv4 28 | --tolerance_usecs=25000 29 | --mtu=72 30 | 31 | // Ensure that all relevant sysctl variables have their default variables. 32 | 0.00 `sysctl -w net.inet.tcp.rfc1323=1` 33 | +0.00 `sysctl -w net.inet.tcp.sack.enable=1` 34 | +0.00 `sysctl -w net.inet.tcp.ecn.enable=2` 35 | +0.00 `sysctl -w net.inet.tcp.rexmit_initial=1000` 36 | +0.00 `sysctl -w net.inet.tcp.rexmit_drop_options=0` 37 | +0.00 `sysctl -w kern.ipc.maxsockbuf=2097152` 38 | +0.00 `sysctl -w net.inet.tcp.recvspace=65536` 39 | +0.00 `sysctl -w net.inet.tcp.sendspace=32768` 40 | // Flush host cache. 41 | +0.00 `sysctl -w net.inet.tcp.hostcache.purgenow=1` 42 | // Create a non-blocking TCP/IPv4 socket 43 | +0.00 socket(..., SOCK_STREAM, IPPROTO_TCP) = 3 44 | +0.00 fcntl(3, F_GETFL) = 0x02 (flags O_RDWR) 45 | +0.00 fcntl(3, F_SETFL, O_RDWR | O_NONBLOCK) = 0 46 | +0.00 connect(3, ..., ...) = -1 EINPROGRESS (Operation now in progress) 47 | +0.00 > S 0:0(0) 48 | +0.00 close(3) = 0 -------------------------------------------------------------------------------- /snd-syn/timeout: -------------------------------------------------------------------------------- 1 | 450 2 | -------------------------------------------------------------------------------- /snippets/all-snippets: -------------------------------------------------------------------------------- 1 | snippets/closed-initially-ipv4 2 | snippets/closed-initially-ipv6 3 | snippets/listen-ipv4 4 | snippets/listen-ipv6 5 | snippets/syn-sent-ipv4 6 | snippets/syn-sent-ipv6 7 | snippets/syn-rcvd-via-listen-ipv4 8 | snippets/syn-rcvd-via-listen-ipv6 9 | snippets/syn-rcvd-via-syn-sent-ipv4 10 | snippets/syn-rcvd-via-syn-sent-ipv4-ecn01 11 | snippets/syn-rcvd-via-syn-sent-ipv4-ecn10 12 | snippets/syn-rcvd-via-syn-sent-ipv4-ecn11 13 | snippets/syn-rcvd-via-syn-sent-ipv6 14 | snippets/established-ipv4 15 | snippets/established-ipv6 16 | snippets/close-wait-ipv4 17 | snippets/close-wait-ipv6 18 | snippets/last-ack-ipv4 19 | snippets/last-ack-ipv6 20 | snippets/closed-via-last-ack-ipv4 21 | snippets/closed-via-last-ack-ipv6 22 | snippets/fin-wait-1-ipv4 23 | snippets/fin-wait-1-ipv6 24 | snippets/fin-wait-2-ipv4 25 | snippets/fin-wait-2-ipv6 26 | snippets/closing-ipv4 27 | snippets/closing-ipv6 28 | snippets/time-wait-via-fin-wait-1-ipv4 29 | snippets/time-wait-via-fin-wait-1-ipv6 30 | snippets/time-wait-via-fin-wait-2-ipv4 31 | snippets/time-wait-via-fin-wait-2-ipv6 32 | snippets/time-wait-via-closing-ipv4 33 | snippets/time-wait-via-closing-ipv6 34 | snippets/noopt-syn-rcvd-via-syn-sent-ipv4 35 | snippets/noopt-strict-tsopt 36 | snippets/noopt-parallel-syn-w-options-ipv4 37 | -------------------------------------------------------------------------------- /snippets/run-all-snippets: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2016 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../run-tests.sh $* all-snippets 29 | -------------------------------------------------------------------------------- /socket-api/README.md: -------------------------------------------------------------------------------- 1 | # Tests for the Socket API 2 | 3 | ## Structure of the Testgroup 4 | | Test Group | Number of Test Scripts | Status 5 | |:-------------------------------------------------------------------------------|:----------------------:|:-----------:| 6 | | [socket()](socket/README.md) | 0 | Not Started | 7 | | [getsockopt()](getsockopt/README.md) | 10 | In Progress | 8 | | [setsockopt()](setsockopt/README.md) | 8 | In Progress | 9 | | [close()](close/README.md) | 0 | Not Started | 10 | | [shutdown()](shutdown/README.md) | 0 | Not Started | 11 | | [listen()](listen/README.md) | 0 | Not Started | 12 | | [accept()](accept/README.md) | 0 | Not Started | 13 | | [connect()](connect/README.md) | 0 | Not Started | 14 | | [send()](send/README.md) | 0 | Not Started | 15 | | [recv()](recv/README.md) | 0 | Not Started | 16 | -------------------------------------------------------------------------------- /socket-api/getsockopt/all-getsockopt-tests: -------------------------------------------------------------------------------- 1 | socket-api/getsockopt/socket-api-getsockopt-keepcnt-inherited-from-sysctl-ipv4 2 | socket-api/getsockopt/socket-api-getsockopt-keepcnt-inherited-from-sysctl-ipv6 3 | socket-api/getsockopt/socket-api-getsockopt-keepidle-inherited-from-sysctl-ipv4 4 | socket-api/getsockopt/socket-api-getsockopt-keepidle-inherited-from-sysctl-ipv6 5 | socket-api/getsockopt/socket-api-getsockopt-keepinit-inherited-from-sysctl-ipv4 6 | socket-api/getsockopt/socket-api-getsockopt-keepinit-inherited-from-sysctl-ipv6 7 | socket-api/getsockopt/socket-api-getsockopt-keepintvl-inherited-from-sysctl-ipv4 8 | socket-api/getsockopt/socket-api-getsockopt-keepintvl-inherited-from-sysctl-ipv6 9 | socket-api/getsockopt/socket-api-getsockopt-tcpinfo-ipv4 10 | socket-api/getsockopt/socket-api-getsockopt-tcpinfo-ipv6 11 | -------------------------------------------------------------------------------- /socket-api/getsockopt/run-all-getsockopt-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2017 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../../run-tests.sh $* all-getsockopt-tests 29 | -------------------------------------------------------------------------------- /socket-api/getsockopt/socket-api-getsockopt-keepcnt-inherited-from-sysctl-ipv4.pkt: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2016 Michael Tuexen 3 | // All rights reserved. 4 | // 5 | // Redistribution and use in source and binary forms, with or without 6 | // modification, are permitted provided that the following conditions 7 | // are met: 8 | // 1. Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // 2. Redistributions in binary form must reproduce the above copyright 11 | // notice, this list of conditions and the following disclaimer in the 12 | // documentation and/or other materials provided with the distribution. 13 | // 14 | // THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 15 | // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17 | // ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 18 | // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19 | // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20 | // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21 | // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22 | // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23 | // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 | // SUCH DAMAGE. 25 | // 26 | 27 | // Ensure that the default keepinit timer can be set by the sysctl variable 28 | // keepcnt. Check this with with getsockopt. 29 | 30 | --ip_version=ipv4 31 | --tolerance_usecs=25000 32 | 33 | // Ensure the default is 8 34 | 0.00 `sysctl -w net.inet.tcp.keepcnt=8` 35 | +0.00 socket(..., SOCK_STREAM, IPPROTO_TCP) = 3 36 | +0.00 getsockopt(3, IPPROTO_TCP, TCP_KEEPCNT, [8], [4]) = 0 37 | +0.00 close(3) = 0 38 | // Ensure that changing the sysctl works 39 | +0.10 `sysctl -w net.inet.tcp.keepcnt=2` 40 | +0.00 socket(..., SOCK_STREAM, IPPROTO_TCP) = 3 41 | +0.00 getsockopt(3, IPPROTO_TCP, TCP_KEEPCNT, [2], [4]) = 0 42 | +0.00 close(3) = 0 43 | // Restore the default sysctl 44 | +0.10 `sysctl -w net.inet.tcp.keepcnt=8` 45 | -------------------------------------------------------------------------------- /socket-api/getsockopt/socket-api-getsockopt-keepcnt-inherited-from-sysctl-ipv6.pkt: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2016 Michael Tuexen 3 | // All rights reserved. 4 | // 5 | // Redistribution and use in source and binary forms, with or without 6 | // modification, are permitted provided that the following conditions 7 | // are met: 8 | // 1. Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // 2. Redistributions in binary form must reproduce the above copyright 11 | // notice, this list of conditions and the following disclaimer in the 12 | // documentation and/or other materials provided with the distribution. 13 | // 14 | // THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 15 | // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17 | // ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 18 | // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19 | // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20 | // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21 | // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22 | // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23 | // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 | // SUCH DAMAGE. 25 | // 26 | 27 | // Ensure that the default keepinit timer can be set by the sysctl variable 28 | // keepcnt. Check this with with getsockopt. 29 | 30 | --ip_version=ipv6 31 | --tolerance_usecs=25000 32 | 33 | // Ensure the default is 8 34 | 0.00 `sysctl -w net.inet.tcp.keepcnt=8` 35 | +0.00 socket(..., SOCK_STREAM, IPPROTO_TCP) = 3 36 | +0.00 getsockopt(3, IPPROTO_TCP, TCP_KEEPCNT, [8], [4]) = 0 37 | +0.00 close(3) = 0 38 | // Ensure that changing the sysctl works 39 | +0.10 `sysctl -w net.inet.tcp.keepcnt=2` 40 | +0.00 socket(..., SOCK_STREAM, IPPROTO_TCP) = 3 41 | +0.00 getsockopt(3, IPPROTO_TCP, TCP_KEEPCNT, [2], [4]) = 0 42 | +0.00 close(3) = 0 43 | // Restore the default sysctl 44 | +0.10 `sysctl -w net.inet.tcp.keepcnt=8` 45 | -------------------------------------------------------------------------------- /socket-api/getsockopt/socket-api-getsockopt-keepidle-inherited-from-sysctl-ipv4.pkt: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2016 Michael Tuexen 3 | // All rights reserved. 4 | // 5 | // Redistribution and use in source and binary forms, with or without 6 | // modification, are permitted provided that the following conditions 7 | // are met: 8 | // 1. Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // 2. Redistributions in binary form must reproduce the above copyright 11 | // notice, this list of conditions and the following disclaimer in the 12 | // documentation and/or other materials provided with the distribution. 13 | // 14 | // THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 15 | // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17 | // ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 18 | // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19 | // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20 | // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21 | // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22 | // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23 | // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 | // SUCH DAMAGE. 25 | // 26 | 27 | // Ensure that the default keepinit timer can be set by the sysctl variable 28 | // keepidle. Check this with with getsockopt. 29 | 30 | --ip_version=ipv4 31 | --tolerance_usecs=25000 32 | 33 | // Ensure the default is 7200 seconds ( 2 hours) 34 | 0.00 `sysctl -w net.inet.tcp.keepidle=7200000` 35 | +0.00 socket(..., SOCK_STREAM, IPPROTO_TCP) = 3 36 | +0.00 getsockopt(3, IPPROTO_TCP, TCP_KEEPIDLE, [7200], [4]) = 0 37 | +0.00 close(3) = 0 38 | // Ensure that changing the sysctl works 39 | +0.10 `sysctl -w net.inet.tcp.keepidle=15000` 40 | +0.00 socket(..., SOCK_STREAM, IPPROTO_TCP) = 3 41 | +0.00 getsockopt(3, IPPROTO_TCP, TCP_KEEPIDLE, [15], [4]) = 0 42 | +0.00 close(3) = 0 43 | // Restore the default sysctl 44 | +0.10 `sysctl -w net.inet.tcp.keepidle=7200000` 45 | -------------------------------------------------------------------------------- /socket-api/getsockopt/socket-api-getsockopt-keepidle-inherited-from-sysctl-ipv6.pkt: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2016 Michael Tuexen 3 | // All rights reserved. 4 | // 5 | // Redistribution and use in source and binary forms, with or without 6 | // modification, are permitted provided that the following conditions 7 | // are met: 8 | // 1. Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // 2. Redistributions in binary form must reproduce the above copyright 11 | // notice, this list of conditions and the following disclaimer in the 12 | // documentation and/or other materials provided with the distribution. 13 | // 14 | // THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 15 | // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17 | // ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 18 | // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19 | // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20 | // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21 | // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22 | // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23 | // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 | // SUCH DAMAGE. 25 | // 26 | 27 | // Ensure that the default keepinit timer can be set by the sysctl variable 28 | // keepidle. Check this with with getsockopt. 29 | 30 | --ip_version=ipv6 31 | --tolerance_usecs=25000 32 | 33 | // Ensure the default is 7200 seconds ( 2 hours) 34 | 0.00 `sysctl -w net.inet.tcp.keepidle=7200000` 35 | +0.00 socket(..., SOCK_STREAM, IPPROTO_TCP) = 3 36 | +0.00 getsockopt(3, IPPROTO_TCP, TCP_KEEPIDLE, [7200], [4]) = 0 37 | +0.00 close(3) = 0 38 | // Ensure that changing the sysctl works 39 | +0.10 `sysctl -w net.inet.tcp.keepidle=15000` 40 | +0.00 socket(..., SOCK_STREAM, IPPROTO_TCP) = 3 41 | +0.00 getsockopt(3, IPPROTO_TCP, TCP_KEEPIDLE, [15], [4]) = 0 42 | +0.00 close(3) = 0 43 | // Restore the default sysctl 44 | +0.10 `sysctl -w net.inet.tcp.keepidle=7200000` 45 | -------------------------------------------------------------------------------- /socket-api/getsockopt/socket-api-getsockopt-keepinit-inherited-from-sysctl-ipv4.pkt: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2016 Michael Tuexen 3 | // All rights reserved. 4 | // 5 | // Redistribution and use in source and binary forms, with or without 6 | // modification, are permitted provided that the following conditions 7 | // are met: 8 | // 1. Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // 2. Redistributions in binary form must reproduce the above copyright 11 | // notice, this list of conditions and the following disclaimer in the 12 | // documentation and/or other materials provided with the distribution. 13 | // 14 | // THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 15 | // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17 | // ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 18 | // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19 | // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20 | // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21 | // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22 | // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23 | // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 | // SUCH DAMAGE. 25 | // 26 | 27 | // Ensure that the default keepinit timer can be set by the sysctl variable 28 | // keepinit. Check this with with getsockopt. 29 | 30 | --ip_version=ipv4 31 | --tolerance_usecs=25000 32 | 33 | // Ensure the default is 75 seconds 34 | 0.00 `sysctl -w net.inet.tcp.keepinit=75000` 35 | +0.00 socket(..., SOCK_STREAM, IPPROTO_TCP) = 3 36 | +0.00 getsockopt(3, IPPROTO_TCP, TCP_KEEPINIT, [75], [4]) = 0 37 | +0.00 close(3) = 0 38 | // Ensure that changing the sysctl works 39 | +0.10 `sysctl -w net.inet.tcp.keepinit=15000` 40 | +0.00 socket(..., SOCK_STREAM, IPPROTO_TCP) = 3 41 | +0.00 getsockopt(3, IPPROTO_TCP, TCP_KEEPINIT, [15], [4]) = 0 42 | +0.00 close(3) = 0 43 | // Restore the default sysctl 44 | +0.10 `sysctl -w net.inet.tcp.keepinit=75000` 45 | -------------------------------------------------------------------------------- /socket-api/getsockopt/socket-api-getsockopt-keepinit-inherited-from-sysctl-ipv6.pkt: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2016 Michael Tuexen 3 | // All rights reserved. 4 | // 5 | // Redistribution and use in source and binary forms, with or without 6 | // modification, are permitted provided that the following conditions 7 | // are met: 8 | // 1. Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // 2. Redistributions in binary form must reproduce the above copyright 11 | // notice, this list of conditions and the following disclaimer in the 12 | // documentation and/or other materials provided with the distribution. 13 | // 14 | // THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 15 | // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17 | // ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 18 | // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19 | // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20 | // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21 | // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22 | // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23 | // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 | // SUCH DAMAGE. 25 | // 26 | 27 | // Ensure that the default keepinit timer can be set by the sysctl variable 28 | // keepinit. Check this with with getsockopt. 29 | 30 | --ip_version=ipv6 31 | --tolerance_usecs=25000 32 | 33 | // Ensure the default is 75 seconds 34 | 0.00 `sysctl -w net.inet.tcp.keepinit=75000` 35 | +0.00 socket(..., SOCK_STREAM, IPPROTO_TCP) = 3 36 | +0.00 getsockopt(3, IPPROTO_TCP, TCP_KEEPINIT, [75], [4]) = 0 37 | +0.00 close(3) = 0 38 | // Ensure that changing the sysctl works 39 | +0.10 `sysctl -w net.inet.tcp.keepinit=15000` 40 | +0.00 socket(..., SOCK_STREAM, IPPROTO_TCP) = 3 41 | +0.00 getsockopt(3, IPPROTO_TCP, TCP_KEEPINIT, [15], [4]) = 0 42 | +0.00 close(3) = 0 43 | // Restore the default sysctl 44 | +0.10 `sysctl -w net.inet.tcp.keepinit=75000` 45 | -------------------------------------------------------------------------------- /socket-api/getsockopt/socket-api-getsockopt-keepintvl-inherited-from-sysctl-ipv4.pkt: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2016 Michael Tuexen 3 | // All rights reserved. 4 | // 5 | // Redistribution and use in source and binary forms, with or without 6 | // modification, are permitted provided that the following conditions 7 | // are met: 8 | // 1. Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // 2. Redistributions in binary form must reproduce the above copyright 11 | // notice, this list of conditions and the following disclaimer in the 12 | // documentation and/or other materials provided with the distribution. 13 | // 14 | // THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 15 | // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17 | // ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 18 | // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19 | // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20 | // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21 | // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22 | // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23 | // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 | // SUCH DAMAGE. 25 | // 26 | 27 | // Ensure that the default keepinit timer can be set by the sysctl variable 28 | // keepintvl. Check this with with getsockopt. 29 | 30 | --ip_version=ipv4 31 | --tolerance_usecs=25000 32 | 33 | // Ensure the default is 75 seconds 34 | 0.00 `sysctl -w net.inet.tcp.keepintvl=75000` 35 | +0.00 socket(..., SOCK_STREAM, IPPROTO_TCP) = 3 36 | +0.00 getsockopt(3, IPPROTO_TCP, TCP_KEEPINTVL, [75], [4]) = 0 37 | +0.00 close(3) = 0 38 | // Ensure that changing the sysctl works 39 | +0.10 `sysctl -w net.inet.tcp.keepintvl=15000` 40 | +0.00 socket(..., SOCK_STREAM, IPPROTO_TCP) = 3 41 | +0.00 getsockopt(3, IPPROTO_TCP, TCP_KEEPINTVL, [15], [4]) = 0 42 | +0.00 close(3) = 0 43 | // Restore the default sysctl 44 | +0.10 `sysctl -w net.inet.tcp.keepintvl=75000` 45 | -------------------------------------------------------------------------------- /socket-api/getsockopt/socket-api-getsockopt-keepintvl-inherited-from-sysctl-ipv6.pkt: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2016 Michael Tuexen 3 | // All rights reserved. 4 | // 5 | // Redistribution and use in source and binary forms, with or without 6 | // modification, are permitted provided that the following conditions 7 | // are met: 8 | // 1. Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // 2. Redistributions in binary form must reproduce the above copyright 11 | // notice, this list of conditions and the following disclaimer in the 12 | // documentation and/or other materials provided with the distribution. 13 | // 14 | // THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 15 | // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17 | // ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 18 | // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19 | // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20 | // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21 | // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22 | // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23 | // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 | // SUCH DAMAGE. 25 | // 26 | 27 | // Ensure that the default keepinit timer can be set by the sysctl variable 28 | // keepintvl. Check this with with getsockopt. 29 | 30 | --ip_version=ipv6 31 | --tolerance_usecs=25000 32 | 33 | // Ensure the default is 75 seconds 34 | 0.00 `sysctl -w net.inet.tcp.keepintvl=75000` 35 | +0.00 socket(..., SOCK_STREAM, IPPROTO_TCP) = 3 36 | +0.00 getsockopt(3, IPPROTO_TCP, TCP_KEEPINTVL, [75], [4]) = 0 37 | +0.00 close(3) = 0 38 | // Ensure that changing the sysctl works 39 | +0.10 `sysctl -w net.inet.tcp.keepintvl=15000` 40 | +0.00 socket(..., SOCK_STREAM, IPPROTO_TCP) = 3 41 | +0.00 getsockopt(3, IPPROTO_TCP, TCP_KEEPINTVL, [15], [4]) = 0 42 | +0.00 close(3) = 0 43 | // Restore the default sysctl 44 | +0.10 `sysctl -w net.inet.tcp.keepintvl=75000` 45 | -------------------------------------------------------------------------------- /socket-api/run-all-socket-api-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2017 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../run-tests.sh $* getsockopt/all-getsockopt-tests 29 | ../run-tests.sh $* setsockopt/all-setsockopt-tests 30 | -------------------------------------------------------------------------------- /socket-api/setsockopt/README.md: -------------------------------------------------------------------------------- 1 | # Tests for setsockopt() 2 | 3 | ## Description 4 | The list of socket options with level `IPPROTO_IP` being tested is: 5 | * `IP_TOS` 6 | * `IP_TTL` 7 | 8 | The list of socket options with level `IPPROTO_IPV6` being tested is: 9 | * `IPV6_TCLASS` 10 | * `IPV6_UNICAST_HOPS` 11 | 12 | ## Status 13 | | Name | Result FreeBSD Head | 14 | |:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------------:| 15 | |[socket-api-setsockopt-ttl-active-ipv4](socket-api-setsockopt-ttl-active-ipv4.pkt "Ensure that setting the TTL works for actively established connections") | Passed | 16 | |[socket-api-setsockopt-hoplimit-active-ipv6](socket-api-setsockopt-hoplimit-active-ipv6.pkt "Ensure that setting the hop limit works for actively established connections") | Passed | 17 | |[socket-api-setsockopt-ttl-passive-ipv4](socket-api-setsockopt-ttl-passive-ipv4.pkt "Ensure that setting the TTL works for passively established connections") | Passed | 18 | |[socket-api-setsockopt-hoplimit-passive-ipv6](socket-api-setsockopt-hoplimit-passive-ipv6.pkt "Ensure that setting the hop limit works for passively established connections") | Passed | 19 | |[socket-api-setsockopt-tos-active-ipv4](socket-api-setsockopt-tos-active-ipv4.pkt "Ensure that setting the TOS works for actively established connections") | Passed | 20 | |[socket-api-setsockopt-traffic-class-active-ipv6](socket-api-setsockopt-traffic-class-active-ipv6.pkt "Ensure that setting the traffic class works for actively established connections") | Passed | 21 | |[socket-api-setsockopt-tos-passive-ipv4](socket-api-setsockopt-tos-passive-ipv4.pkt "Ensure that setting the TOS works for passively established connections") | Passed | 22 | |[socket-api-setsockopt-traffic-class-passive-ipv6](socket-api-setsockopt-traffic-class-passive-ipv6.pkt "Ensure that setting the traffic class works for passively established connections") | Passed | 23 | 24 | ## Notes 25 | -------------------------------------------------------------------------------- /socket-api/setsockopt/all-setsockopt-tests: -------------------------------------------------------------------------------- 1 | socket-api/setsockopt/socket-api-setsockopt-ttl-active-ipv4 2 | socket-api/setsockopt/socket-api-setsockopt-ttl-passive-ipv4 3 | socket-api/setsockopt/socket-api-setsockopt-hoplimit-active-ipv6 4 | socket-api/setsockopt/socket-api-setsockopt-hoplimit-passive-ipv6 5 | socket-api/setsockopt/socket-api-setsockopt-tos-active-ipv4 6 | socket-api/setsockopt/socket-api-setsockopt-tos-passive-ipv4 7 | socket-api/setsockopt/socket-api-setsockopt-traffic-class-active-ipv6 8 | socket-api/setsockopt/socket-api-setsockopt-traffic-class-passive-ipv6 9 | socket-api/setsockopt/socket-api-setsockopt-md5-active-ipv4 10 | socket-api/setsockopt/socket-api-setsockopt-md5-passive-ipv4 11 | socket-api/setsockopt/socket-api-setsockopt-md5-active-ipv6 12 | socket-api/setsockopt/socket-api-setsockopt-md5-passive-ipv6 13 | -------------------------------------------------------------------------------- /socket-api/setsockopt/run-all-setsockopt-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2017 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../../run-tests.sh $* all-setsockopt-tests 29 | -------------------------------------------------------------------------------- /state-event-engine/rcv-ack-close-wait/README.md: -------------------------------------------------------------------------------- 1 | rcv-ack-close-wait 2 | -------------------------------------------------------------------------------- /state-event-engine/rcv-ack-closed/README.md: -------------------------------------------------------------------------------- 1 | # Handling of TCP Segments with the ACK-bit Set in the CLOSED state 2 | 3 | ## Description 4 | This set of tests focuses on the handling of ACK-segments in the CLOSED state. 5 | The state of the end-point should not be affected. 6 | 7 | The required behavior is described in [RFC 0793](https://tools.ietf.org/html/rfc793#section-3.9). 8 | 9 | ## Results 10 | 11 | | Name | Result FreeBSD 11.0 | Result FreeBSD Head | 12 | |:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------------:|:-------------------:| 13 | |[rcv-ack-without-data-closed-ipv4](rcv-ack-without-data-closed-ipv4.pkt "Ensure that the reception of a ACK-segment in the CLOSED state does trigger the sending of a RST-segment") | Unknown | Passed | 14 | |[rcv-ack-without-data-closed-ipv6](rcv-ack-without-data-closed-ipv6.pkt "Ensure that the reception of a ACK-segment in the CLOSED state does trigger the sending of a RST-segment") | Unknown | Passed | 15 | |[rcv-ack-with-data-closed-ipv4](rcv-ack-with-data-closed-ipv4.pkt "Ensure that the reception of a ACK-segment in the CLOSED state does trigger the sending of a RST-segment") | Unknown | Passed | 16 | |[rcv-ack-with-data-closed-ipv6](rcv-ack-with-data-closed-ipv6.pkt "Ensure that the reception of a ACK-segment in the CLOSED state does trigger the sending of a RST-segment") | Unknown | Passed | 17 | -------------------------------------------------------------------------------- /state-event-engine/rcv-ack-closed/all-rcv-ack-closed-tests: -------------------------------------------------------------------------------- 1 | state-event-engine/rcv-ack-closed/rcv-ack-without-data-closed-ipv4 2 | state-event-engine/rcv-ack-closed/rcv-ack-without-data-closed-ipv6 3 | state-event-engine/rcv-ack-closed/rcv-ack-with-data-closed-ipv4 4 | state-event-engine/rcv-ack-closed/rcv-ack-with-data-closed-ipv6 5 | -------------------------------------------------------------------------------- /state-event-engine/rcv-ack-closed/run-all-rcv-ack-closed-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2016 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../../run-tests.sh $* all-rcv-ack-closed-tests 29 | -------------------------------------------------------------------------------- /state-event-engine/rcv-ack-closing/README.md: -------------------------------------------------------------------------------- 1 | rcv-ack-closing 2 | -------------------------------------------------------------------------------- /state-event-engine/rcv-ack-established/README.md: -------------------------------------------------------------------------------- 1 | rcv-ack-established 2 | -------------------------------------------------------------------------------- /state-event-engine/rcv-ack-fin-wait-1/README.md: -------------------------------------------------------------------------------- 1 | rcv-ack-fin-wait-1 2 | -------------------------------------------------------------------------------- /state-event-engine/rcv-ack-fin-wait-2/README.md: -------------------------------------------------------------------------------- 1 | rcv-ack-fin-wait-2 2 | -------------------------------------------------------------------------------- /state-event-engine/rcv-ack-last-ack/README.md: -------------------------------------------------------------------------------- 1 | rcv-ack-last-ack 2 | -------------------------------------------------------------------------------- /state-event-engine/rcv-ack-listen/README.md: -------------------------------------------------------------------------------- 1 | # Handling of TCP Segments with the ACK-bit Set in the LISTEN state 2 | 3 | ## Description 4 | This set of tests focuses on the handling of ACK-segments in the LISTEN state. 5 | The state of the end-point should not be affected. 6 | 7 | The required behavior is described in [RFC 0793](https://tools.ietf.org/html/rfc793#section-3.9). 8 | 9 | ## Results 10 | 11 | | Name | Result FreeBSD 11.0 | Result FreeBSD Head | 12 | |:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------------:|:-------------------:| 13 | |[rcv-ack-without-data-listen-ipv4](rcv-ack-without-data-listen-ipv4.pkt "Ensure that the reception of a ACK-segment in the LISTEN state does trigger the sending of a RST-segment") | Unknown | Passed | 14 | |[rcv-ack-without-data-listen-ipv6](rcv-ack-without-data-listen-ipv6.pkt "Ensure that the reception of a ACK-segment in the LISTEN state does trigger the sending of a RST-segment") | Unknown | Passed | 15 | |[rcv-ack-with-data-listen-ipv4](rcv-ack-with-data-listen-ipv4.pkt "Ensure that the reception of a ACK-segment in the LISTEN state does trigger the sending of a RST-segment") | Unknown | Passed | 16 | |[rcv-ack-with-data-listen-ipv6](rcv-ack-with-data-listen-ipv6.pkt "Ensure that the reception of a ACK-segment in the LISTEN state does trigger the sending of a RST-segment") | Unknown | Passed | 17 | -------------------------------------------------------------------------------- /state-event-engine/rcv-ack-listen/all-rcv-ack-listen-tests: -------------------------------------------------------------------------------- 1 | state-event-engine/rcv-ack-listen/rcv-ack-without-data-listen-ipv4 2 | state-event-engine/rcv-ack-listen/rcv-ack-without-data-listen-ipv6 3 | state-event-engine/rcv-ack-listen/rcv-ack-with-data-listen-ipv4 4 | state-event-engine/rcv-ack-listen/rcv-ack-with-data-listen-ipv6 5 | -------------------------------------------------------------------------------- /state-event-engine/rcv-ack-listen/run-all-rcv-ack-listen-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2016 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../../run-tests.sh $* all-rcv-ack-listen-tests 29 | -------------------------------------------------------------------------------- /state-event-engine/rcv-ack-syn-rcvd/README.md: -------------------------------------------------------------------------------- 1 | rcv-ack-syn-rcvd 2 | -------------------------------------------------------------------------------- /state-event-engine/rcv-ack-syn-sent/all-rcv-ack-syn-sent-tests: -------------------------------------------------------------------------------- 1 | state-event-engine/rcv-ack-syn-sent/rcv-ack-without-data-syn-sent-ack-outside-left-ipv4 2 | state-event-engine/rcv-ack-syn-sent/rcv-ack-without-data-syn-sent-ack-outside-left-ipv6 3 | state-event-engine/rcv-ack-syn-sent/rcv-ack-without-data-syn-sent-ack-left-edge-ipv4 4 | state-event-engine/rcv-ack-syn-sent/rcv-ack-without-data-syn-sent-ack-left-edge-ipv6 5 | state-event-engine/rcv-ack-syn-sent/rcv-ack-without-data-syn-sent-ack-outside-right-ipv4 6 | state-event-engine/rcv-ack-syn-sent/rcv-ack-without-data-syn-sent-ack-outside-right-ipv6 7 | state-event-engine/rcv-ack-syn-sent/rcv-ack-with-data-syn-sent-ack-outside-left-ipv4 8 | state-event-engine/rcv-ack-syn-sent/rcv-ack-with-data-syn-sent-ack-outside-left-ipv6 9 | state-event-engine/rcv-ack-syn-sent/rcv-ack-with-data-syn-sent-ack-left-edge-ipv4 10 | state-event-engine/rcv-ack-syn-sent/rcv-ack-with-data-syn-sent-ack-left-edge-ipv6 11 | state-event-engine/rcv-ack-syn-sent/rcv-ack-with-data-syn-sent-ack-outside-right-ipv4 12 | state-event-engine/rcv-ack-syn-sent/rcv-ack-with-data-syn-sent-ack-outside-right-ipv6 13 | -------------------------------------------------------------------------------- /state-event-engine/rcv-ack-syn-sent/run-all-rcv-ack-syn-sent-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2016 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../../run-tests.sh $* all-rcv-ack-syn-sent-tests 29 | -------------------------------------------------------------------------------- /state-event-engine/rcv-ack-time-wait/all-rcv-ack-time-wait-tests: -------------------------------------------------------------------------------- 1 | state-event-engine/rcv-ack-time-wait/rcv-ack-time-wait-using-shutdown-outside-left-ipv4 2 | state-event-engine/rcv-ack-time-wait/rcv-ack-time-wait-using-shutdown-outside-left-ipv6 3 | state-event-engine/rcv-ack-time-wait/rcv-ack-time-wait-using-shutdown-left-edge-ipv4 4 | state-event-engine/rcv-ack-time-wait/rcv-ack-time-wait-using-shutdown-left-edge-ipv6 5 | state-event-engine/rcv-ack-time-wait/rcv-ack-time-wait-using-shutdown-middle-ipv4 6 | state-event-engine/rcv-ack-time-wait/rcv-ack-time-wait-using-shutdown-middle-ipv6 7 | state-event-engine/rcv-ack-time-wait/rcv-ack-time-wait-using-shutdown-right-edge-ipv4 8 | state-event-engine/rcv-ack-time-wait/rcv-ack-time-wait-using-shutdown-right-edge-ipv6 9 | state-event-engine/rcv-ack-time-wait/rcv-ack-time-wait-using-shutdown-outside-right-ipv4 10 | state-event-engine/rcv-ack-time-wait/rcv-ack-time-wait-using-shutdown-outside-right-ipv6 11 | -------------------------------------------------------------------------------- /state-event-engine/rcv-ack-time-wait/run-all-rcv-ack-time-wait-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2016 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../../run-tests.sh $* all-rcv-ack-time-wait-tests 29 | -------------------------------------------------------------------------------- /state-event-engine/rcv-fin-ack-close-wait/README.md: -------------------------------------------------------------------------------- 1 | rcv-fin-ack-close-wait 2 | -------------------------------------------------------------------------------- /state-event-engine/rcv-fin-ack-closed/README.md: -------------------------------------------------------------------------------- 1 | # Handling of TCP Segments with the FIN-ACK-bits Set in the CLOSED state 2 | 3 | ## Description 4 | This set of tests focuses on the handling of FIN-ACK-segments in the CLOSED state. 5 | The state of the end-point should not be affected. 6 | 7 | The required behavior is described in [RFC 0793](https://tools.ietf.org/html/rfc793#section-3.9). 8 | 9 | ## Results 10 | 11 | | Name | Result FreeBSD 11.0 | Result FreeBSD Head | 12 | |:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------------:|:-------------------:| 13 | |[rcv-fin-ack-without-data-closed-ipv4](rcv-fin-ack-without-data-closed-ipv4.pkt "Ensure that the reception of a FIN-ACK-segment in the CLOSED state does trigger the sending of a RST-segment") | Unknown | Passed | 14 | |[rcv-fin-ack-without-data-closed-ipv6](rcv-fin-ack-without-data-closed-ipv6.pkt "Ensure that the reception of a FIN-ACK-segment in the CLOSED state does trigger the sending of a RST-segment") | Unknown | Passed | 15 | |[rcv-fin-ack-with-data-closed-ipv4](rcv-fin-ack-with-data-closed-ipv4.pkt "Ensure that the reception of a FIN-ACK-segment in the CLOSED state does trigger the sending of a RST-segment") | Unknown | Passed | 16 | |[rcv-fin-ack-with-data-closed-ipv6](rcv-fin-ack-with-data-closed-ipv6.pkt "Ensure that the reception of a FIN-ACK-segment in the CLOSED state does trigger the sending of a RST-segment") | Unknown | Passed | 17 | -------------------------------------------------------------------------------- /state-event-engine/rcv-fin-ack-closed/all-rcv-fin-ack-closed-tests: -------------------------------------------------------------------------------- 1 | state-event-engine/rcv-fin-ack-closed/rcv-fin-ack-without-data-closed-ipv4 2 | state-event-engine/rcv-fin-ack-closed/rcv-fin-ack-without-data-closed-ipv6 3 | state-event-engine/rcv-fin-ack-closed/rcv-fin-ack-with-data-closed-ipv4 4 | state-event-engine/rcv-fin-ack-closed/rcv-fin-ack-with-data-closed-ipv6 5 | -------------------------------------------------------------------------------- /state-event-engine/rcv-fin-ack-closed/run-all-rcv-fin-ack-closed-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2016 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../../run-tests.sh $* all-rcv-fin-ack-closed-tests 29 | -------------------------------------------------------------------------------- /state-event-engine/rcv-fin-ack-closing/README.md: -------------------------------------------------------------------------------- 1 | rcv-fin-ack-closing 2 | -------------------------------------------------------------------------------- /state-event-engine/rcv-fin-ack-established/README.md: -------------------------------------------------------------------------------- 1 | rcv-fin-ack-established 2 | -------------------------------------------------------------------------------- /state-event-engine/rcv-fin-ack-fin-wait-1/README.md: -------------------------------------------------------------------------------- 1 | rcv-fin-ack-fin-wait-1 2 | -------------------------------------------------------------------------------- /state-event-engine/rcv-fin-ack-fin-wait-2/README.md: -------------------------------------------------------------------------------- 1 | rcv-fin-ack-fin-wait-2 2 | -------------------------------------------------------------------------------- /state-event-engine/rcv-fin-ack-last-ack/README.md: -------------------------------------------------------------------------------- 1 | rcv-fin-ack-last-ack 2 | -------------------------------------------------------------------------------- /state-event-engine/rcv-fin-ack-listen/README.md: -------------------------------------------------------------------------------- 1 | # Handling of TCP Segments with the FIN-ACK-bits Set in the LISTEN state 2 | 3 | ## Description 4 | This set of tests focuses on the handling of FIN-ACK-segments in the LISTEN state. 5 | The state of the end-point should not be affected. 6 | 7 | The required behavior is described in [RFC 0793](https://tools.ietf.org/html/rfc793#section-3.9). 8 | 9 | ## Results 10 | 11 | | Name | Result FreeBSD 11.0 | Result FreeBSD Head | 12 | |:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------------:|:-------------------:| 13 | |[rcv-fin-ack-without-data-listen-ipv4](rcv-fin-ack-without-data-listen-ipv4.pkt "Ensure that the reception of a FIN-ACK-segment in the LISTEN state does trigger the sending of a RST-segment") | Unknown | Passed | 14 | |[rcv-fin-ack-without-data-listen-ipv6](rcv-fin-ack-without-data-listen-ipv6.pkt "Ensure that the reception of a FIN-ACK-segment in the LISTEN state does trigger the sending of a RST-segment") | Unknown | Passed | 15 | |[rcv-fin-ack-with-data-listen-ipv4](rcv-fin-ack-with-data-listen-ipv4.pkt "Ensure that the reception of a FIN-ACK-segment in the LISTEN state does trigger the sending of a RST-segment") | Unknown | Passed | 16 | |[rcv-fin-ack-with-data-listen-ipv6](rcv-fin-ack-with-data-listen-ipv6.pkt "Ensure that the reception of a FIN-ACK-segment in the LISTEN state does trigger the sending of a RST-segment") | Unknown | Passed | 17 | -------------------------------------------------------------------------------- /state-event-engine/rcv-fin-ack-listen/all-rcv-fin-ack-listen-tests: -------------------------------------------------------------------------------- 1 | state-event-engine/rcv-fin-ack-listen/rcv-fin-ack-without-data-listen-ipv4 2 | state-event-engine/rcv-fin-ack-listen/rcv-fin-ack-without-data-listen-ipv6 3 | state-event-engine/rcv-fin-ack-listen/rcv-fin-ack-with-data-listen-ipv4 4 | state-event-engine/rcv-fin-ack-listen/rcv-fin-ack-with-data-listen-ipv6 5 | -------------------------------------------------------------------------------- /state-event-engine/rcv-fin-ack-listen/run-all-rcv-fin-ack-listen-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2016 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../../run-tests.sh $* all-rcv-fin-ack-listen-tests 29 | -------------------------------------------------------------------------------- /state-event-engine/rcv-fin-ack-syn-rcvd/README.md: -------------------------------------------------------------------------------- 1 | rcv-fin-ack-syn-rcvd 2 | -------------------------------------------------------------------------------- /state-event-engine/rcv-fin-ack-syn-sent/all-rcv-fin-ack-syn-sent-tests: -------------------------------------------------------------------------------- 1 | state-event-engine/rcv-fin-ack-syn-sent/rcv-fin-ack-without-data-syn-sent-ack-outside-left-ipv4 2 | state-event-engine/rcv-fin-ack-syn-sent/rcv-fin-ack-without-data-syn-sent-ack-outside-left-ipv6 3 | state-event-engine/rcv-fin-ack-syn-sent/rcv-fin-ack-without-data-syn-sent-ack-left-edge-ipv4 4 | state-event-engine/rcv-fin-ack-syn-sent/rcv-fin-ack-without-data-syn-sent-ack-left-edge-ipv6 5 | state-event-engine/rcv-fin-ack-syn-sent/rcv-fin-ack-without-data-syn-sent-ack-outside-right-ipv4 6 | state-event-engine/rcv-fin-ack-syn-sent/rcv-fin-ack-without-data-syn-sent-ack-outside-right-ipv6 7 | state-event-engine/rcv-fin-ack-syn-sent/rcv-fin-ack-with-data-syn-sent-ack-outside-left-ipv4 8 | state-event-engine/rcv-fin-ack-syn-sent/rcv-fin-ack-with-data-syn-sent-ack-outside-left-ipv6 9 | state-event-engine/rcv-fin-ack-syn-sent/rcv-fin-ack-with-data-syn-sent-ack-left-edge-ipv4 10 | state-event-engine/rcv-fin-ack-syn-sent/rcv-fin-ack-with-data-syn-sent-ack-left-edge-ipv6 11 | state-event-engine/rcv-fin-ack-syn-sent/rcv-fin-ack-with-data-syn-sent-ack-outside-right-ipv4 12 | state-event-engine/rcv-fin-ack-syn-sent/rcv-fin-ack-with-data-syn-sent-ack-outside-right-ipv6 13 | -------------------------------------------------------------------------------- /state-event-engine/rcv-fin-ack-syn-sent/run-all-rcv-fin-ack-syn-sent-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2016 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../../run-tests.sh $* all-rcv-fin-ack-syn-sent-tests 29 | -------------------------------------------------------------------------------- /state-event-engine/rcv-fin-ack-time-wait/all-rcv-fin-ack-time-wait-tests: -------------------------------------------------------------------------------- 1 | state-event-engine/rcv-fin-ack-time-wait/rcv-fin-ack-time-wait-using-shutdown-outside-left-ipv4 2 | state-event-engine/rcv-fin-ack-time-wait/rcv-fin-ack-time-wait-using-shutdown-outside-left-ipv6 3 | state-event-engine/rcv-fin-ack-time-wait/rcv-fin-ack-time-wait-using-shutdown-left-edge-ipv4 4 | state-event-engine/rcv-fin-ack-time-wait/rcv-fin-ack-time-wait-using-shutdown-left-edge-ipv6 5 | state-event-engine/rcv-fin-ack-time-wait/rcv-fin-ack-time-wait-using-shutdown-middle-ipv4 6 | state-event-engine/rcv-fin-ack-time-wait/rcv-fin-ack-time-wait-using-shutdown-middle-ipv6 7 | state-event-engine/rcv-fin-ack-time-wait/rcv-fin-ack-time-wait-using-shutdown-right-edge-ipv4 8 | state-event-engine/rcv-fin-ack-time-wait/rcv-fin-ack-time-wait-using-shutdown-right-edge-ipv6 9 | state-event-engine/rcv-fin-ack-time-wait/rcv-fin-ack-time-wait-using-shutdown-outside-right-ipv4 10 | state-event-engine/rcv-fin-ack-time-wait/rcv-fin-ack-time-wait-using-shutdown-outside-right-ipv6 11 | -------------------------------------------------------------------------------- /state-event-engine/rcv-fin-ack-time-wait/run-all-rcv-fin-ack-time-wait-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2016 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../../run-tests.sh $* all-rcv-fin-ack-time-wait-tests 29 | -------------------------------------------------------------------------------- /state-event-engine/rcv-fin-close-wait/README.md: -------------------------------------------------------------------------------- 1 | rcv-fin-close-wait 2 | -------------------------------------------------------------------------------- /state-event-engine/rcv-fin-closed/README.md: -------------------------------------------------------------------------------- 1 | # Handling of TCP Segments with the SYN-FIN-bits Set in the CLOSED state 2 | 3 | ## Description 4 | This set of tests focuses on the handling of FIN-segments in the CLOSED state. 5 | The state of the end-point should not be affected. 6 | 7 | The required behavior is described in [RFC 0793](https://tools.ietf.org/html/rfc793#section-3.9). 8 | 9 | ## Results 10 | 11 | | Name | Result FreeBSD 11.0 | Result FreeBSD Head | 12 | |:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------------:|:-------------------:| 13 | |[rcv-fin-without-data-closed-ipv4](rcv-fin-without-data-closed-ipv4.pkt "Ensure that the reception of a FIN-segment in the CLOSED state does trigger the sending of a RST-ACK-segment") | Unknown | Passed (Note 1) | 14 | |[rcv-fin-without-data-closed-ipv6](rcv-fin-without-data-closed-ipv6.pkt "Ensure that the reception of a FIN-segment in the CLOSED state does trigger the sending of a RST-ACK-segment") | Unknown | Passed (Note 1) | 15 | |[rcv-fin-with-data-closed-ipv4](rcv-fin-with-data-closed-ipv4.pkt "Ensure that the reception of a FIN-segment in the CLOSED state does trigger the sending of a RST-ACK-segment") | Unknown | Passed (Note 1) | 16 | |[rcv-fin-with-data-closed-ipv6](rcv-fin-with-data-closed-ipv6.pkt "Ensure that the reception of a FIN-segment in the CLOSED state does trigger the sending of a RST-ACK-segment") | Unknown | Passed (Note 1) | 17 | 18 | ## Notes 19 | 20 | 1. A FIN-segments occupy one byte in the sequence number space. Currently this is not accounted for when generating the RST-ACK segment. 21 | Fixed in [r309397](https://svnweb.freebsd.org/changeset/base/309397) ([D8667](https://reviews.freebsd.org/D8667)). 22 | -------------------------------------------------------------------------------- /state-event-engine/rcv-fin-closed/all-rcv-fin-closed-tests: -------------------------------------------------------------------------------- 1 | state-event-engine/rcv-fin-closed/rcv-fin-without-data-closed-ipv4 2 | state-event-engine/rcv-fin-closed/rcv-fin-without-data-closed-ipv6 3 | state-event-engine/rcv-fin-closed/rcv-fin-with-data-closed-ipv4 4 | state-event-engine/rcv-fin-closed/rcv-fin-with-data-closed-ipv6 5 | -------------------------------------------------------------------------------- /state-event-engine/rcv-fin-closed/run-all-rcv-fin-closed-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2016 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../../run-tests.sh $* all-rcv-fin-closed-tests 29 | -------------------------------------------------------------------------------- /state-event-engine/rcv-fin-closing/README.md: -------------------------------------------------------------------------------- 1 | rcv-fin-closing 2 | -------------------------------------------------------------------------------- /state-event-engine/rcv-fin-established/README.md: -------------------------------------------------------------------------------- 1 | rcv-fin-established 2 | -------------------------------------------------------------------------------- /state-event-engine/rcv-fin-fin-wait-1/README.md: -------------------------------------------------------------------------------- 1 | rcv-fin-fin-wait-1 2 | -------------------------------------------------------------------------------- /state-event-engine/rcv-fin-fin-wait-2/README.md: -------------------------------------------------------------------------------- 1 | rcv-fin-fin-wait-2 2 | -------------------------------------------------------------------------------- /state-event-engine/rcv-fin-last-ack/README.md: -------------------------------------------------------------------------------- 1 | rcv-fin-last-ack 2 | -------------------------------------------------------------------------------- /state-event-engine/rcv-fin-listen/README.md: -------------------------------------------------------------------------------- 1 | # Handling of TCP Segments with the FIN-bit Set in the LISTEN state 2 | 3 | ## Description 4 | This set of tests focuses on the handling of FIN-segments in the LISTEN state. 5 | The state of the end-point should not be affected. 6 | 7 | The required behavior is described in [RFC 0793](https://tools.ietf.org/html/rfc793#section-3.9). 8 | 9 | ## Results 10 | 11 | | Name | Result FreeBSD 11.0 | Result FreeBSD Head | 12 | |:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------------:|:-------------------:| 13 | |[rcv-fin-without-data-listen-ipv4](rcv-fin-without-data-listen-ipv4.pkt "Ensure that the reception of a FIN-segment in the LISTEN state does not trigger the sending of a TCP-segment") | Unknown | Passed | 14 | |[rcv-fin-without-data-listen-ipv6](rcv-fin-without-data-listen-ipv6.pkt "Ensure that the reception of a FIN-segment in the LISTEN state does not trigger the sending of a TCP-segment") | Unknown | Passed | 15 | |[rcv-fin-with-data-listen-ipv4](rcv-fin-with-data-listen-ipv4.pkt "Ensure that the reception of a FIN-segment in the LISTEN state does not trigger the sending of a TCP-segment") | Unknown | Passed | 16 | |[rcv-fin-with-data-listen-ipv6](rcv-fin-with-data-listen-ipv6.pkt "Ensure that the reception of a FIN-segment in the LISTEN state does not trigger the sending of a TCP-segment") | Unknown | Passed | 17 | -------------------------------------------------------------------------------- /state-event-engine/rcv-fin-listen/all-rcv-fin-listen-tests: -------------------------------------------------------------------------------- 1 | state-event-engine/rcv-fin-listen/rcv-fin-without-data-listen-ipv4 2 | state-event-engine/rcv-fin-listen/rcv-fin-without-data-listen-ipv6 3 | state-event-engine/rcv-fin-listen/rcv-fin-with-data-listen-ipv4 4 | state-event-engine/rcv-fin-listen/rcv-fin-with-data-listen-ipv6 5 | -------------------------------------------------------------------------------- /state-event-engine/rcv-fin-listen/run-all-rcv-fin-listen-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2016 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../../run-tests.sh $* all-rcv-fin-listen-tests 29 | -------------------------------------------------------------------------------- /state-event-engine/rcv-fin-syn-rcvd/README.md: -------------------------------------------------------------------------------- 1 | rcv-fin-syn-rcvd 2 | -------------------------------------------------------------------------------- /state-event-engine/rcv-fin-syn-sent/README.md: -------------------------------------------------------------------------------- 1 | # Handling of TCP Segments with the FIN-bit Set in the SYN-SENT State 2 | 3 | ## Description 4 | This set of tests focuses on the handling of FIN-segments in the `SYN-SENT` state. 5 | 6 | [RFC 0793](https://tools.ietf.org/html/rfc0793) requires FIN-segments to be 7 | ignored. 8 | 9 | ## Status 10 | 11 | | Name | Result FreeBSD 11.0 | Result FreeBSD Head | 12 | |:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------------:|:-------------------:| 13 | |[rcv-fin-without-data-syn-sent-ipv4](rcv-fin-without-data-syn-sent-ipv4.pkt "Ensure that the reception of a TCP FIN in the SYN-SENT state does not affect the TCP connection") | Unknown | Passed | 14 | |[rcv-fin-without-data-syn-sent-ipv6](rcv-fin-without-data-syn-sent-ipv6.pkt "Ensure that the reception of a TCP FIN in the SYN-SENT state does not affect the TCP connection") | Unknown | Passed | 15 | |[rcv-fin-with-data-syn-sent-ipv4](rcv-fin-with-data-syn-sent-ipv4.pkt "Ensure that the reception of a TCP FIN in the SYN-SENT state does not affect the TCP connection") | Unknown | Passed | 16 | |[rcv-fin-with-data-syn-sent-ipv4](rcv-fin-with-data-syn-sent-ipv6.pkt "Ensure that the reception of a TCP FIN in the SYN-SENT state does not affect the TCP connection") | Unknown | Passed | 17 | -------------------------------------------------------------------------------- /state-event-engine/rcv-fin-syn-sent/all-rcv-fin-syn-sent-tests: -------------------------------------------------------------------------------- 1 | state-event-engine/rcv-fin-syn-sent/rcv-fin-without-data-syn-sent-ipv4 2 | state-event-engine/rcv-fin-syn-sent/rcv-fin-without-data-syn-sent-ipv6 3 | state-event-engine/rcv-fin-syn-sent/rcv-fin-with-data-syn-sent-ipv4 4 | state-event-engine/rcv-fin-syn-sent/rcv-fin-with-data-syn-sent-ipv6 5 | -------------------------------------------------------------------------------- /state-event-engine/rcv-fin-syn-sent/run-all-rcv-fin-syn-sent-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2016 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../../run-tests.sh $* all-rcv-fin-syn-sent-tests 29 | -------------------------------------------------------------------------------- /state-event-engine/rcv-fin-time-wait/all-rcv-fin-time-wait-tests: -------------------------------------------------------------------------------- 1 | state-event-engine/rcv-fin-time-wait/rcv-fin-time-wait-using-shutdown-outside-left-ipv4 2 | state-event-engine/rcv-fin-time-wait/rcv-fin-time-wait-using-shutdown-outside-left-ipv6 3 | state-event-engine/rcv-fin-time-wait/rcv-fin-time-wait-using-shutdown-left-edge-ipv4 4 | state-event-engine/rcv-fin-time-wait/rcv-fin-time-wait-using-shutdown-left-edge-ipv6 5 | state-event-engine/rcv-fin-time-wait/rcv-fin-time-wait-using-shutdown-middle-ipv4 6 | state-event-engine/rcv-fin-time-wait/rcv-fin-time-wait-using-shutdown-middle-ipv6 7 | state-event-engine/rcv-fin-time-wait/rcv-fin-time-wait-using-shutdown-right-edge-ipv4 8 | state-event-engine/rcv-fin-time-wait/rcv-fin-time-wait-using-shutdown-right-edge-ipv6 9 | state-event-engine/rcv-fin-time-wait/rcv-fin-time-wait-using-shutdown-outside-right-ipv4 10 | state-event-engine/rcv-fin-time-wait/rcv-fin-time-wait-using-shutdown-outside-right-ipv6 11 | -------------------------------------------------------------------------------- /state-event-engine/rcv-fin-time-wait/run-all-rcv-fin-time-wait-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2016 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../../run-tests.sh $* all-rcv-fin-time-wait-tests 29 | -------------------------------------------------------------------------------- /state-event-engine/rcv-rst-ack-close-wait/README.md: -------------------------------------------------------------------------------- 1 | rcv-rst-ack-close-wait 2 | -------------------------------------------------------------------------------- /state-event-engine/rcv-rst-ack-closed/README.md: -------------------------------------------------------------------------------- 1 | # Handling of TCP Segments with the RST-ACK-bits Set in the CLOSED state 2 | 3 | ## Description 4 | This set of tests focuses on the handling of RST-ACK-segments in the CLOSED state. 5 | The state of the end-point should not be affected. 6 | 7 | The required behavior is described in [RFC 0793](https://tools.ietf.org/html/rfc793#section-3.9). 8 | 9 | ## Results 10 | 11 | | Name | Result FreeBSD 11.0 | Result FreeBSD Head | 12 | |:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------------:|:-------------------:| 13 | |[rcv-rst-ack-without-data-closed-ipv4](rcv-rst-ack-without-data-closed-ipv4.pkt "Ensure that the reception of a RST-ACK-segment in the CLOSED state does not trigger the sending of a RST-segment") | Unknown | Passed | 14 | |[rcv-rst-ack-without-data-closed-ipv6](rcv-rst-ack-without-data-closed-ipv6.pkt "Ensure that the reception of a RST-ACK-segment in the CLOSED state does not trigger the sending of a RST-segment") | Unknown | Passed | 15 | |[rcv-rst-ack-with-data-closed-ipv4](rcv-rst-ack-with-data-closed-ipv4.pkt "Ensure that the reception of a RST-ACK-segment in the CLOSED state does not trigger the sending of a RST-segment") | Unknown | Passed | 16 | |[rcv-rst-ack-with-data-closed-ipv6](rcv-rst-ack-with-data-closed-ipv6.pkt "Ensure that the reception of a RST-ACK-segment in the CLOSED state does not trigger the sending of a RST-segment") | Unknown | Passed | 17 | -------------------------------------------------------------------------------- /state-event-engine/rcv-rst-ack-closed/all-rcv-rst-ack-closed-tests: -------------------------------------------------------------------------------- 1 | state-event-engine/rcv-rst-ack-closed/rcv-rst-ack-without-data-closed-ipv4 2 | state-event-engine/rcv-rst-ack-closed/rcv-rst-ack-without-data-closed-ipv6 3 | state-event-engine/rcv-rst-ack-closed/rcv-rst-ack-with-data-closed-ipv4 4 | state-event-engine/rcv-rst-ack-closed/rcv-rst-ack-with-data-closed-ipv6 5 | -------------------------------------------------------------------------------- /state-event-engine/rcv-rst-ack-closed/run-all-rcv-rst-ack-closed-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2016 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../../run-tests.sh $* all-rcv-rst-ack-closed-tests 29 | -------------------------------------------------------------------------------- /state-event-engine/rcv-rst-ack-closing/README.md: -------------------------------------------------------------------------------- 1 | rcv-rst-ack-closing 2 | -------------------------------------------------------------------------------- /state-event-engine/rcv-rst-ack-established/README.md: -------------------------------------------------------------------------------- 1 | rcv-rst-ack-established 2 | -------------------------------------------------------------------------------- /state-event-engine/rcv-rst-ack-fin-wait-1/README.md: -------------------------------------------------------------------------------- 1 | rcv-rst-ack-fin-wait-1 2 | -------------------------------------------------------------------------------- /state-event-engine/rcv-rst-ack-fin-wait-2/README.md: -------------------------------------------------------------------------------- 1 | rcv-rst-ack-fin-wait-2 2 | -------------------------------------------------------------------------------- /state-event-engine/rcv-rst-ack-last-ack/README.md: -------------------------------------------------------------------------------- 1 | rcv-rst-ack-last-ack 2 | -------------------------------------------------------------------------------- /state-event-engine/rcv-rst-ack-listen/README.md: -------------------------------------------------------------------------------- 1 | # Handling of TCP Segments with the RST-ACK-bits Set in the LISTEN state 2 | 3 | ## Description 4 | This set of tests focuses on the handling of RST-ACK-segments in the LISTEN state. 5 | The state of the end-point should not be affected. 6 | 7 | The required behavior is described in [RFC 0793](https://tools.ietf.org/html/rfc793#section-3.9). 8 | 9 | ## Results 10 | 11 | | Name | Result FreeBSD 11.0 | Result FreeBSD Head | 12 | |:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------------:|:-------------------:| 13 | |[rcv-rst-ack-without-data-listen-ipv4](rcv-rst-ack-without-data-listen-ipv4.pkt "Ensure that the reception of a RST-ACK-segment in the LISTEN state does not trigger the sending of a RST-segment") | Unknown | Passed | 14 | |[rcv-rst-ack-without-data-listen-ipv6](rcv-rst-ack-without-data-listen-ipv6.pkt "Ensure that the reception of a RST-ACK-segment in the LISTEN state does not trigger the sending of a RST-segment") | Unknown | Passed | 15 | |[rcv-rst-ack-with-data-listen-ipv4](rcv-rst-ack-with-data-listen-ipv4.pkt "Ensure that the reception of a RST-ACK-segment in the LISTEN state does not trigger the sending of a RST-segment") | Unknown | Passed | 16 | |[rcv-rst-ack-with-data-listen-ipv6](rcv-rst-ack-with-data-listen-ipv6.pkt "Ensure that the reception of a RST-ACK-segment in the LISTEN state does not trigger the sending of a RST-segment") | Unknown | Passed | 17 | -------------------------------------------------------------------------------- /state-event-engine/rcv-rst-ack-listen/all-rcv-rst-ack-listen-tests: -------------------------------------------------------------------------------- 1 | state-event-engine/rcv-rst-ack-listen/rcv-rst-ack-without-data-listen-ipv4 2 | state-event-engine/rcv-rst-ack-listen/rcv-rst-ack-without-data-listen-ipv6 3 | state-event-engine/rcv-rst-ack-listen/rcv-rst-ack-with-data-listen-ipv4 4 | state-event-engine/rcv-rst-ack-listen/rcv-rst-ack-with-data-listen-ipv6 5 | -------------------------------------------------------------------------------- /state-event-engine/rcv-rst-ack-listen/run-all-rcv-rst-ack-listen-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2016 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../../run-tests.sh $* all-rcv-rst-ack-listen-tests 29 | -------------------------------------------------------------------------------- /state-event-engine/rcv-rst-ack-syn-rcvd/README.md: -------------------------------------------------------------------------------- 1 | rcv-rst-ack-syn-rcvd 2 | -------------------------------------------------------------------------------- /state-event-engine/rcv-rst-ack-syn-rcvd/run-all-rcv-rst-ack-syn-rcvd-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2016 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../../run-tests.sh $* all-rcv-rst-ack-syn-rcvd-tests 29 | -------------------------------------------------------------------------------- /state-event-engine/rcv-rst-ack-syn-sent/all-rcv-rst-ack-syn-sent-tests: -------------------------------------------------------------------------------- 1 | state-event-engine/rcv-rst-ack-syn-sent/rcv-rst-ack-without-data-syn-sent-ack-outside-left-ipv4 2 | state-event-engine/rcv-rst-ack-syn-sent/rcv-rst-ack-without-data-syn-sent-ack-outside-left-ipv6 3 | state-event-engine/rcv-rst-ack-syn-sent/rcv-rst-ack-without-data-syn-sent-ack-left-edge-ipv4 4 | state-event-engine/rcv-rst-ack-syn-sent/rcv-rst-ack-without-data-syn-sent-ack-left-edge-ipv6 5 | state-event-engine/rcv-rst-ack-syn-sent/rcv-rst-ack-without-data-syn-sent-ack-outside-right-ipv4 6 | state-event-engine/rcv-rst-ack-syn-sent/rcv-rst-ack-without-data-syn-sent-ack-outside-right-ipv6 7 | state-event-engine/rcv-rst-ack-syn-sent/rcv-rst-ack-with-data-syn-sent-ack-outside-left-ipv4 8 | state-event-engine/rcv-rst-ack-syn-sent/rcv-rst-ack-with-data-syn-sent-ack-outside-left-ipv6 9 | state-event-engine/rcv-rst-ack-syn-sent/rcv-rst-ack-with-data-syn-sent-ack-left-edge-ipv4 10 | state-event-engine/rcv-rst-ack-syn-sent/rcv-rst-ack-with-data-syn-sent-ack-left-edge-ipv6 11 | state-event-engine/rcv-rst-ack-syn-sent/rcv-rst-ack-with-data-syn-sent-ack-outside-right-ipv4 12 | state-event-engine/rcv-rst-ack-syn-sent/rcv-rst-ack-with-data-syn-sent-ack-outside-right-ipv6 13 | -------------------------------------------------------------------------------- /state-event-engine/rcv-rst-ack-syn-sent/run-all-rcv-rst-ack-syn-sent-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2016 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../../run-tests.sh $* all-rcv-rst-ack-syn-sent-tests 29 | -------------------------------------------------------------------------------- /state-event-engine/rcv-rst-ack-time-wait/all-rcv-rst-ack-time-wait-tests: -------------------------------------------------------------------------------- 1 | state-event-engine/rcv-rst-ack-time-wait/rcv-rst-ack-time-wait-using-shutdown-outside-left-secure-ipv4 2 | state-event-engine/rcv-rst-ack-time-wait/rcv-rst-ack-time-wait-using-shutdown-outside-left-secure-ipv6 3 | state-event-engine/rcv-rst-ack-time-wait/rcv-rst-ack-time-wait-using-shutdown-left-edge-secure-ipv4 4 | state-event-engine/rcv-rst-ack-time-wait/rcv-rst-ack-time-wait-using-shutdown-left-edge-secure-ipv6 5 | state-event-engine/rcv-rst-ack-time-wait/rcv-rst-ack-time-wait-using-shutdown-right-edge-secure-ipv4 6 | state-event-engine/rcv-rst-ack-time-wait/rcv-rst-ack-time-wait-using-shutdown-right-edge-secure-ipv6 7 | state-event-engine/rcv-rst-ack-time-wait/rcv-rst-ack-time-wait-using-shutdown-outside-right-secure-ipv4 8 | state-event-engine/rcv-rst-ack-time-wait/rcv-rst-ack-time-wait-using-shutdown-outside-right-secure-ipv6 9 | state-event-engine/rcv-rst-ack-time-wait/rcv-rst-ack-time-wait-using-shutdown-outside-left-insecure-ipv4 10 | state-event-engine/rcv-rst-ack-time-wait/rcv-rst-ack-time-wait-using-shutdown-outside-left-insecure-ipv6 11 | state-event-engine/rcv-rst-ack-time-wait/rcv-rst-ack-time-wait-using-shutdown-left-edge-insecure-ipv4 12 | state-event-engine/rcv-rst-ack-time-wait/rcv-rst-ack-time-wait-using-shutdown-left-edge-insecure-ipv6 13 | state-event-engine/rcv-rst-ack-time-wait/rcv-rst-ack-time-wait-using-shutdown-right-edge-insecure-ipv4 14 | state-event-engine/rcv-rst-ack-time-wait/rcv-rst-ack-time-wait-using-shutdown-right-edge-insecure-ipv6 15 | state-event-engine/rcv-rst-ack-time-wait/rcv-rst-ack-time-wait-using-shutdown-outside-right-insecure-ipv4 16 | state-event-engine/rcv-rst-ack-time-wait/rcv-rst-ack-time-wait-using-shutdown-outside-right-insecure-ipv6 17 | -------------------------------------------------------------------------------- /state-event-engine/rcv-rst-ack-time-wait/run-all-rcv-rst-ack-time-wait-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2016 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../../run-tests.sh $* all-rcv-rst-ack-time-wait-tests 29 | -------------------------------------------------------------------------------- /state-event-engine/rcv-rst-close-wait/all-rcv-rst-close-wait-tests: -------------------------------------------------------------------------------- 1 | state-event-engine/rcv-rst-close-wait/rcv-rst-close-wait-outside-left-secure-ipv4 2 | state-event-engine/rcv-rst-close-wait/rcv-rst-close-wait-outside-left-secure-ipv6 3 | state-event-engine/rcv-rst-close-wait/rcv-rst-close-wait-left-edge-secure-ipv4 4 | state-event-engine/rcv-rst-close-wait/rcv-rst-close-wait-left-edge-secure-ipv6 5 | state-event-engine/rcv-rst-close-wait/rcv-rst-close-wait-right-edge-secure-ipv4 6 | state-event-engine/rcv-rst-close-wait/rcv-rst-close-wait-right-edge-secure-ipv6 7 | state-event-engine/rcv-rst-close-wait/rcv-rst-close-wait-outside-right-secure-ipv4 8 | state-event-engine/rcv-rst-close-wait/rcv-rst-close-wait-outside-right-secure-ipv6 9 | state-event-engine/rcv-rst-close-wait/rcv-rst-close-wait-outside-left-insecure-ipv4 10 | state-event-engine/rcv-rst-close-wait/rcv-rst-close-wait-outside-left-insecure-ipv6 11 | state-event-engine/rcv-rst-close-wait/rcv-rst-close-wait-left-edge-insecure-ipv4 12 | state-event-engine/rcv-rst-close-wait/rcv-rst-close-wait-left-edge-insecure-ipv6 13 | state-event-engine/rcv-rst-close-wait/rcv-rst-close-wait-right-edge-insecure-ipv4 14 | state-event-engine/rcv-rst-close-wait/rcv-rst-close-wait-right-edge-insecure-ipv6 15 | state-event-engine/rcv-rst-close-wait/rcv-rst-close-wait-outside-right-insecure-ipv4 16 | state-event-engine/rcv-rst-close-wait/rcv-rst-close-wait-outside-right-insecure-ipv6 17 | -------------------------------------------------------------------------------- /state-event-engine/rcv-rst-close-wait/run-all-rcv-rst-close-wait-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2016 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../../run-tests.sh $* all-rcv-rst-close-wait-tests 29 | -------------------------------------------------------------------------------- /state-event-engine/rcv-rst-closed/README.md: -------------------------------------------------------------------------------- 1 | # Handling of TCP Segments with the RST-bit Set in the CLOSED state 2 | 3 | ## Description 4 | This set of tests focuses on the handling of RST-segments in the CLOSED state. The state of the end-point should not be affected. 5 | 6 | The required behavior is described in [RFC 0793](https://tools.ietf.org/html/rfc0793) or 7 | [RFC 5961](https://tools.ietf.org/html/rfc5961#section-3) and selected by the 8 | `sysctl`-variable `net.inet.tcp.insecure_rst`. 9 | The default is to follow [RFC 5961](https://tools.ietf.org/html/rfc5961#section-3). 10 | 11 | ## Results 12 | 13 | | Name | Result FreeBSD 11.0 | Result FreeBSD Head | 14 | |:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------------:|:-------------------:| 15 | |[rcv-rst-without-data-closed-ipv4](rcv-rst-without-data-closed-ipv4.pkt "Ensure that the reception of a RST-segment in the CLOSED state does not trigger the sending of a RST-segment") | Unknown | Passed | 16 | |[rcv-rst-without-data-closed-ipv6](rcv-rst-without-data-closed-ipv6.pkt "Ensure that the reception of a RST-segment in the CLOSED state does not trigger the sending of a RST-segment") | Unknown | Passed | 17 | |[rcv-rst-with-data-closed-ipv4](rcv-rst-with-data-closed-ipv4.pkt "Ensure that the reception of a RST-segment in the CLOSED state does not trigger the sending of a RST-segment") | Unknown | Passed | 18 | |[rcv-rst-with-data-closed-ipv6](rcv-rst-with-data-closed-ipv6.pkt "Ensure that the reception of a RST-segment in the CLOSED state does not trigger the sending of a RST-segment") | Unknown | Passed | 19 | -------------------------------------------------------------------------------- /state-event-engine/rcv-rst-closed/all-rcv-rst-closed-tests: -------------------------------------------------------------------------------- 1 | state-event-engine/rcv-rst-closed/rcv-rst-without-data-closed-ipv4 2 | state-event-engine/rcv-rst-closed/rcv-rst-without-data-closed-ipv6 3 | state-event-engine/rcv-rst-closed/rcv-rst-with-data-closed-ipv4 4 | state-event-engine/rcv-rst-closed/rcv-rst-with-data-closed-ipv6 5 | -------------------------------------------------------------------------------- /state-event-engine/rcv-rst-closed/run-all-rcv-rst-closed-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2016 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../../run-tests.sh $* all-rcv-rst-closed-tests 29 | -------------------------------------------------------------------------------- /state-event-engine/rcv-rst-closing/all-rcv-rst-closing-tests: -------------------------------------------------------------------------------- 1 | state-event-engine/rcv-rst-closing/rcv-rst-closing-outside-left-secure-ipv4 2 | state-event-engine/rcv-rst-closing/rcv-rst-closing-outside-left-secure-ipv6 3 | state-event-engine/rcv-rst-closing/rcv-rst-closing-left-edge-secure-ipv4 4 | state-event-engine/rcv-rst-closing/rcv-rst-closing-left-edge-secure-ipv6 5 | state-event-engine/rcv-rst-closing/rcv-rst-closing-right-edge-secure-ipv4 6 | state-event-engine/rcv-rst-closing/rcv-rst-closing-right-edge-secure-ipv6 7 | state-event-engine/rcv-rst-closing/rcv-rst-closing-outside-right-secure-ipv4 8 | state-event-engine/rcv-rst-closing/rcv-rst-closing-outside-right-secure-ipv6 9 | state-event-engine/rcv-rst-closing/rcv-rst-closing-outside-left-insecure-ipv4 10 | state-event-engine/rcv-rst-closing/rcv-rst-closing-outside-left-insecure-ipv6 11 | state-event-engine/rcv-rst-closing/rcv-rst-closing-left-edge-insecure-ipv4 12 | state-event-engine/rcv-rst-closing/rcv-rst-closing-left-edge-insecure-ipv6 13 | state-event-engine/rcv-rst-closing/rcv-rst-closing-right-edge-insecure-ipv4 14 | state-event-engine/rcv-rst-closing/rcv-rst-closing-right-edge-insecure-ipv6 15 | state-event-engine/rcv-rst-closing/rcv-rst-closing-outside-right-insecure-ipv4 16 | state-event-engine/rcv-rst-closing/rcv-rst-closing-outside-right-insecure-ipv6 17 | -------------------------------------------------------------------------------- /state-event-engine/rcv-rst-closing/run-all-rcv-rst-closing-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2016 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../../run-tests.sh $* all-rcv-rst-closing-tests 29 | -------------------------------------------------------------------------------- /state-event-engine/rcv-rst-established/all-rcv-rst-established-tests: -------------------------------------------------------------------------------- 1 | state-event-engine/rcv-rst-established/rcv-rst-established-outside-left-secure-ipv4 2 | state-event-engine/rcv-rst-established/rcv-rst-established-outside-left-secure-ipv6 3 | state-event-engine/rcv-rst-established/rcv-rst-established-left-edge-secure-ipv4 4 | state-event-engine/rcv-rst-established/rcv-rst-established-left-edge-secure-ipv6 5 | state-event-engine/rcv-rst-established/rcv-rst-established-right-edge-secure-ipv4 6 | state-event-engine/rcv-rst-established/rcv-rst-established-right-edge-secure-ipv6 7 | state-event-engine/rcv-rst-established/rcv-rst-established-outside-right-secure-ipv4 8 | state-event-engine/rcv-rst-established/rcv-rst-established-outside-right-secure-ipv6 9 | state-event-engine/rcv-rst-established/rcv-rst-established-outside-left-insecure-ipv4 10 | state-event-engine/rcv-rst-established/rcv-rst-established-outside-left-insecure-ipv6 11 | state-event-engine/rcv-rst-established/rcv-rst-established-left-edge-insecure-ipv4 12 | state-event-engine/rcv-rst-established/rcv-rst-established-left-edge-insecure-ipv6 13 | state-event-engine/rcv-rst-established/rcv-rst-established-right-edge-insecure-ipv4 14 | state-event-engine/rcv-rst-established/rcv-rst-established-right-edge-insecure-ipv6 15 | state-event-engine/rcv-rst-established/rcv-rst-established-outside-right-insecure-ipv4 16 | state-event-engine/rcv-rst-established/rcv-rst-established-outside-right-insecure-ipv6 17 | -------------------------------------------------------------------------------- /state-event-engine/rcv-rst-established/run-all-rcv-rst-established-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2016 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../../run-tests.sh $* all-rcv-rst-established-tests 29 | -------------------------------------------------------------------------------- /state-event-engine/rcv-rst-fin-wait-1/all-rcv-rst-fin-wait-1-tests: -------------------------------------------------------------------------------- 1 | state-event-engine/rcv-rst-fin-wait-1/rcv-rst-fin-wait-1-outside-left-secure-ipv4 2 | state-event-engine/rcv-rst-fin-wait-1/rcv-rst-fin-wait-1-outside-left-secure-ipv6 3 | state-event-engine/rcv-rst-fin-wait-1/rcv-rst-fin-wait-1-left-edge-secure-ipv4 4 | state-event-engine/rcv-rst-fin-wait-1/rcv-rst-fin-wait-1-left-edge-secure-ipv6 5 | state-event-engine/rcv-rst-fin-wait-1/rcv-rst-fin-wait-1-right-edge-secure-ipv4 6 | state-event-engine/rcv-rst-fin-wait-1/rcv-rst-fin-wait-1-right-edge-secure-ipv6 7 | state-event-engine/rcv-rst-fin-wait-1/rcv-rst-fin-wait-1-outside-right-secure-ipv4 8 | state-event-engine/rcv-rst-fin-wait-1/rcv-rst-fin-wait-1-outside-right-secure-ipv6 9 | state-event-engine/rcv-rst-fin-wait-1/rcv-rst-fin-wait-1-outside-left-insecure-ipv4 10 | state-event-engine/rcv-rst-fin-wait-1/rcv-rst-fin-wait-1-outside-left-insecure-ipv6 11 | state-event-engine/rcv-rst-fin-wait-1/rcv-rst-fin-wait-1-left-edge-insecure-ipv4 12 | state-event-engine/rcv-rst-fin-wait-1/rcv-rst-fin-wait-1-left-edge-insecure-ipv6 13 | state-event-engine/rcv-rst-fin-wait-1/rcv-rst-fin-wait-1-right-edge-insecure-ipv4 14 | state-event-engine/rcv-rst-fin-wait-1/rcv-rst-fin-wait-1-right-edge-insecure-ipv6 15 | state-event-engine/rcv-rst-fin-wait-1/rcv-rst-fin-wait-1-outside-right-insecure-ipv4 16 | state-event-engine/rcv-rst-fin-wait-1/rcv-rst-fin-wait-1-outside-right-insecure-ipv6 17 | -------------------------------------------------------------------------------- /state-event-engine/rcv-rst-fin-wait-1/run-all-rcv-rst-fin-wait-1-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2016 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../../run-tests.sh $* all-rcv-rst-fin-wait-1-tests 29 | -------------------------------------------------------------------------------- /state-event-engine/rcv-rst-fin-wait-2/all-rcv-rst-fin-wait-2-tests: -------------------------------------------------------------------------------- 1 | state-event-engine/rcv-rst-fin-wait-2/rcv-rst-fin-wait-2-outside-left-secure-ipv4 2 | state-event-engine/rcv-rst-fin-wait-2/rcv-rst-fin-wait-2-outside-left-secure-ipv6 3 | state-event-engine/rcv-rst-fin-wait-2/rcv-rst-fin-wait-2-left-edge-secure-ipv4 4 | state-event-engine/rcv-rst-fin-wait-2/rcv-rst-fin-wait-2-left-edge-secure-ipv6 5 | state-event-engine/rcv-rst-fin-wait-2/rcv-rst-fin-wait-2-right-edge-secure-ipv4 6 | state-event-engine/rcv-rst-fin-wait-2/rcv-rst-fin-wait-2-right-edge-secure-ipv6 7 | state-event-engine/rcv-rst-fin-wait-2/rcv-rst-fin-wait-2-outside-right-secure-ipv4 8 | state-event-engine/rcv-rst-fin-wait-2/rcv-rst-fin-wait-2-outside-right-secure-ipv6 9 | state-event-engine/rcv-rst-fin-wait-2/rcv-rst-fin-wait-2-outside-left-insecure-ipv4 10 | state-event-engine/rcv-rst-fin-wait-2/rcv-rst-fin-wait-2-outside-left-insecure-ipv6 11 | state-event-engine/rcv-rst-fin-wait-2/rcv-rst-fin-wait-2-left-edge-insecure-ipv4 12 | state-event-engine/rcv-rst-fin-wait-2/rcv-rst-fin-wait-2-left-edge-insecure-ipv6 13 | state-event-engine/rcv-rst-fin-wait-2/rcv-rst-fin-wait-2-right-edge-insecure-ipv4 14 | state-event-engine/rcv-rst-fin-wait-2/rcv-rst-fin-wait-2-right-edge-insecure-ipv6 15 | state-event-engine/rcv-rst-fin-wait-2/rcv-rst-fin-wait-2-outside-right-insecure-ipv4 16 | state-event-engine/rcv-rst-fin-wait-2/rcv-rst-fin-wait-2-outside-right-insecure-ipv6 17 | -------------------------------------------------------------------------------- /state-event-engine/rcv-rst-fin-wait-2/run-all-rcv-rst-fin-wait-2-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2016 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../../run-tests.sh $* all-rcv-rst-fin-wait-2-tests 29 | -------------------------------------------------------------------------------- /state-event-engine/rcv-rst-last-ack/all-rcv-rst-last-ack-tests: -------------------------------------------------------------------------------- 1 | state-event-engine/rcv-rst-last-ack/rcv-rst-last-ack-outside-left-secure-ipv4 2 | state-event-engine/rcv-rst-last-ack/rcv-rst-last-ack-outside-left-secure-ipv6 3 | state-event-engine/rcv-rst-last-ack/rcv-rst-last-ack-left-edge-secure-ipv4 4 | state-event-engine/rcv-rst-last-ack/rcv-rst-last-ack-left-edge-secure-ipv6 5 | state-event-engine/rcv-rst-last-ack/rcv-rst-last-ack-right-edge-secure-ipv4 6 | state-event-engine/rcv-rst-last-ack/rcv-rst-last-ack-right-edge-secure-ipv6 7 | state-event-engine/rcv-rst-last-ack/rcv-rst-last-ack-outside-right-secure-ipv4 8 | state-event-engine/rcv-rst-last-ack/rcv-rst-last-ack-outside-right-secure-ipv6 9 | state-event-engine/rcv-rst-last-ack/rcv-rst-last-ack-outside-left-insecure-ipv4 10 | state-event-engine/rcv-rst-last-ack/rcv-rst-last-ack-outside-left-insecure-ipv6 11 | state-event-engine/rcv-rst-last-ack/rcv-rst-last-ack-left-edge-insecure-ipv4 12 | state-event-engine/rcv-rst-last-ack/rcv-rst-last-ack-left-edge-insecure-ipv6 13 | state-event-engine/rcv-rst-last-ack/rcv-rst-last-ack-right-edge-insecure-ipv4 14 | state-event-engine/rcv-rst-last-ack/rcv-rst-last-ack-right-edge-insecure-ipv6 15 | state-event-engine/rcv-rst-last-ack/rcv-rst-last-ack-outside-right-insecure-ipv4 16 | state-event-engine/rcv-rst-last-ack/rcv-rst-last-ack-outside-right-insecure-ipv6 17 | -------------------------------------------------------------------------------- /state-event-engine/rcv-rst-last-ack/run-all-rcv-rst-last-ack-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2016 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../../run-tests.sh $* all-rcv-rst-last-ack-tests 29 | -------------------------------------------------------------------------------- /state-event-engine/rcv-rst-listen/README.md: -------------------------------------------------------------------------------- 1 | # Handling of TCP Segments with the RST-bit Set in the LISTEN state 2 | 3 | ## Description 4 | This set of tests focuses on the handling of RST-segments in the LISTEN state. The state of the end-point should not be affected. 5 | 6 | The required behavior is described in [RFC 0793](https://tools.ietf.org/html/rfc0793) or 7 | [RFC 5961](https://tools.ietf.org/html/rfc5961#section-3) and selected by the 8 | `sysctl`-variable `net.inet.tcp.insecure_rst`. 9 | The default is to follow [RFC 5961](https://tools.ietf.org/html/rfc5961#section-3). 10 | 11 | ## Results 12 | 13 | | Name | Result FreeBSD 11.0 | Result FreeBSD Head | 14 | |:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------------:|:-------------------:| 15 | |[rcv-rst-without-data-listen-ipv4](rcv-rst-without-data-listen-ipv4.pkt "Ensure that the reception of a RST-segment in the LISTEN state does not trigger the sending of a RST-segment") | Unknown | Passed | 16 | |[rcv-rst-without-data-listen-ipv6](rcv-rst-without-data-listen-ipv6.pkt "Ensure that the reception of a RST-segment in the LISTEN state does not trigger the sending of a RST-segment") | Unknown | Passed | 17 | |[rcv-rst-with-data-listen-ipv4](rcv-rst-with-data-listen-ipv4.pkt "Ensure that the reception of a RST-segment in the LISTEN state does not trigger the sending of a RST-segment") | Unknown | Passed | 18 | |[rcv-rst-with-data-listen-ipv6](rcv-rst-with-data-listen-ipv6.pkt "Ensure that the reception of a RST-segment in the LISTEN state does not trigger the sending of a RST-segment") | Unknown | Passed | 19 | -------------------------------------------------------------------------------- /state-event-engine/rcv-rst-listen/all-rcv-rst-listen-tests: -------------------------------------------------------------------------------- 1 | state-event-engine/rcv-rst-listen/rcv-rst-without-data-listen-ipv4 2 | state-event-engine/rcv-rst-listen/rcv-rst-without-data-listen-ipv6 3 | state-event-engine/rcv-rst-listen/rcv-rst-with-data-listen-ipv4 4 | state-event-engine/rcv-rst-listen/rcv-rst-with-data-listen-ipv6 5 | -------------------------------------------------------------------------------- /state-event-engine/rcv-rst-listen/run-all-rcv-rst-listen-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2016 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../../run-tests.sh $* all-rcv-rst-listen-tests 29 | -------------------------------------------------------------------------------- /state-event-engine/rcv-rst-syn-rcvd/run-all-rcv-rst-syn-rcvd-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2016 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../../run-tests.sh $* all-rcv-rst-syn-rcvd-tests 29 | -------------------------------------------------------------------------------- /state-event-engine/rcv-rst-syn-sent/README.md: -------------------------------------------------------------------------------- 1 | # Handling of TCP Segments with the RST-bit Set in the SYN-SENT State 2 | 3 | ## Description 4 | This set of tests focuses on the handling of RST-segments in the `SYN-SENT` state. 5 | 6 | [RFC 0793](https://tools.ietf.org/html/rfc0793) requires RST-segments to be 7 | ignored. 8 | 9 | ## Status 10 | 11 | | Name | Result FreeBSD 11.0 | Result FreeBSD Head | 12 | |:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------------:|:-------------------:| 13 | |[rcv-rst-without-data-syn-sent-ipv4](rcv-rst-without-data-syn-sent-ipv4.pkt "Ensure that the reception of a TCP RST in the SYN-SENT state does not affect the TCP connection") | Unknown | Passed | 14 | |[rcv-rst-without-data-syn-sent-ipv6](rcv-rst-without-data-syn-sent-ipv6.pkt "Ensure that the reception of a TCP RST in the SYN-SENT state does not affect the TCP connection") | Unknown | Passed | 15 | |[rcv-rst-with-data-syn-sent-ipv4](rcv-rst-with-data-syn-sent-ipv4.pkt "Ensure that the reception of a TCP RST in the SYN-SENT state does not affect the TCP connection") | Unknown | Passed | 16 | |[rcv-rst-with-data-syn-sent-ipv4](rcv-rst-with-data-syn-sent-ipv6.pkt "Ensure that the reception of a TCP RST in the SYN-SENT state does not affect the TCP connection") | Unknown | Passed | 17 | -------------------------------------------------------------------------------- /state-event-engine/rcv-rst-syn-sent/all-rcv-rst-syn-sent-tests: -------------------------------------------------------------------------------- 1 | state-event-engine/rcv-rst-syn-sent/rcv-rst-without-data-syn-sent-ipv4 2 | state-event-engine/rcv-rst-syn-sent/rcv-rst-without-data-syn-sent-ipv6 3 | state-event-engine/rcv-rst-syn-sent/rcv-rst-with-data-syn-sent-ipv4 4 | state-event-engine/rcv-rst-syn-sent/rcv-rst-with-data-syn-sent-ipv6 5 | -------------------------------------------------------------------------------- /state-event-engine/rcv-rst-syn-sent/run-all-rcv-rst-syn-sent-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2016 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../../run-tests.sh $* all-rcv-rst-syn-sent-tests 29 | -------------------------------------------------------------------------------- /state-event-engine/rcv-rst-time-wait/all-rcv-rst-time-wait-tests: -------------------------------------------------------------------------------- 1 | state-event-engine/rcv-rst-time-wait/rcv-rst-time-wait-using-shutdown-outside-left-secure-ipv4 2 | state-event-engine/rcv-rst-time-wait/rcv-rst-time-wait-using-shutdown-outside-left-secure-ipv6 3 | state-event-engine/rcv-rst-time-wait/rcv-rst-time-wait-using-shutdown-left-edge-secure-ipv4 4 | state-event-engine/rcv-rst-time-wait/rcv-rst-time-wait-using-shutdown-left-edge-secure-ipv6 5 | state-event-engine/rcv-rst-time-wait/rcv-rst-time-wait-using-shutdown-right-edge-secure-ipv4 6 | state-event-engine/rcv-rst-time-wait/rcv-rst-time-wait-using-shutdown-right-edge-secure-ipv6 7 | state-event-engine/rcv-rst-time-wait/rcv-rst-time-wait-using-shutdown-outside-right-secure-ipv4 8 | state-event-engine/rcv-rst-time-wait/rcv-rst-time-wait-using-shutdown-outside-right-secure-ipv6 9 | state-event-engine/rcv-rst-time-wait/rcv-rst-time-wait-using-shutdown-outside-left-insecure-ipv4 10 | state-event-engine/rcv-rst-time-wait/rcv-rst-time-wait-using-shutdown-outside-left-insecure-ipv6 11 | state-event-engine/rcv-rst-time-wait/rcv-rst-time-wait-using-shutdown-left-edge-insecure-ipv4 12 | state-event-engine/rcv-rst-time-wait/rcv-rst-time-wait-using-shutdown-left-edge-insecure-ipv6 13 | state-event-engine/rcv-rst-time-wait/rcv-rst-time-wait-using-shutdown-right-edge-insecure-ipv4 14 | state-event-engine/rcv-rst-time-wait/rcv-rst-time-wait-using-shutdown-right-edge-insecure-ipv6 15 | state-event-engine/rcv-rst-time-wait/rcv-rst-time-wait-using-shutdown-outside-right-insecure-ipv4 16 | state-event-engine/rcv-rst-time-wait/rcv-rst-time-wait-using-shutdown-outside-right-insecure-ipv6 17 | -------------------------------------------------------------------------------- /state-event-engine/rcv-rst-time-wait/run-all-rcv-rst-time-wait-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2016 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../../run-tests.sh $* all-rcv-rst-time-wait-tests 29 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-ack-close-wait/README.md: -------------------------------------------------------------------------------- 1 | rcv-syn-ack-close-wait 2 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-ack-closed/README.md: -------------------------------------------------------------------------------- 1 | # Handling of TCP Segments with the SYN-ACK-bits Set in the CLOSED state 2 | 3 | ## Description 4 | This set of tests focuses on the handling of SYN-ACK-segments in the CLOSED state. 5 | The state of the end-point should not be affected. 6 | 7 | The required behavior is described in [RFC 0793](https://tools.ietf.org/html/rfc793#section-3.9). 8 | 9 | ## Results 10 | 11 | | Name | Result FreeBSD 11.0 | Result FreeBSD Head | 12 | |:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------------:|:-------------------:| 13 | |[rcv-syn-ack-without-data-closed-ipv4](rcv-syn-ack-without-data-closed-ipv4.pkt "Ensure that the reception of a SYN-ACK-segment in the CLOSED state does trigger the sending of a RST-segment") | Unknown | Passed | 14 | |[rcv-syn-ack-without-data-closed-ipv6](rcv-syn-ack-without-data-closed-ipv6.pkt "Ensure that the reception of a SYN-ACK-segment in the CLOSED state does trigger the sending of a RST-segment") | Unknown | Passed | 15 | |[rcv-syn-ack-with-data-closed-ipv4](rcv-syn-ack-with-data-closed-ipv4.pkt "Ensure that the reception of a SYN-ACK-segment in the CLOSED state does trigger the sending of a RST-segment") | Unknown | Passed | 16 | |[rcv-syn-ack-with-data-closed-ipv6](rcv-syn-ack-with-data-closed-ipv6.pkt "Ensure that the reception of a SYN-ACK-segment in the CLOSED state does trigger the sending of a RST-segment") | Unknown | Passed | 17 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-ack-closed/all-rcv-syn-ack-closed-tests: -------------------------------------------------------------------------------- 1 | state-event-engine/rcv-syn-ack-closed/rcv-syn-ack-without-data-closed-ipv4 2 | state-event-engine/rcv-syn-ack-closed/rcv-syn-ack-without-data-closed-ipv6 3 | state-event-engine/rcv-syn-ack-closed/rcv-syn-ack-with-data-closed-ipv4 4 | state-event-engine/rcv-syn-ack-closed/rcv-syn-ack-with-data-closed-ipv6 5 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-ack-closed/run-all-rcv-syn-ack-closed-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2016 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../../run-tests.sh $* all-rcv-syn-ack-closed-tests 29 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-ack-closing/README.md: -------------------------------------------------------------------------------- 1 | rcv-syn-ack-closing 2 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-ack-established/README.md: -------------------------------------------------------------------------------- 1 | rcv-syn-ack-established 2 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-ack-fin-wait-1/README.md: -------------------------------------------------------------------------------- 1 | rcv-syn-ack-fin-wait-1 2 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-ack-fin-wait-2/README.md: -------------------------------------------------------------------------------- 1 | rcv-syn-ack-fin-wait-2 2 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-ack-last-ack/README.md: -------------------------------------------------------------------------------- 1 | rcv-syn-ack-last-ack 2 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-ack-listen/README.md: -------------------------------------------------------------------------------- 1 | # Handling of TCP Segments with the SYN-ACK-bits Set in the LISTEN state 2 | 3 | ## Description 4 | This set of tests focuses on the handling of SYN-ACK-segments in the LISTEN state. 5 | The state of the end-point should not be affected. 6 | 7 | The required behavior is described in [RFC 0793](https://tools.ietf.org/html/rfc793#section-3.9). 8 | 9 | ## Results 10 | 11 | | Name | Result FreeBSD 11.0 | Result FreeBSD Head | 12 | |:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------------:|:-------------------:| 13 | |[rcv-syn-ack-without-data-listen-ipv4](rcv-syn-ack-without-data-listen-ipv4.pkt "Ensure that the reception of a SYN-ACK-segment in the LISTEN state does trigger the sending of a RST-segment") | Unknown | Passed | 14 | |[rcv-syn-ack-without-data-listen-ipv6](rcv-syn-ack-without-data-listen-ipv6.pkt "Ensure that the reception of a SYN-ACK-segment in the LISTEN state does trigger the sending of a RST-segment") | Unknown | Passed | 15 | |[rcv-syn-ack-with-data-listen-ipv4](rcv-syn-ack-with-data-listen-ipv4.pkt "Ensure that the reception of a SYN-ACK-segment in the LISTEN state does trigger the sending of a RST-segment") | Unknown | Passed | 16 | |[rcv-syn-ack-with-data-listen-ipv6](rcv-syn-ack-with-data-listen-ipv6.pkt "Ensure that the reception of a SYN-ACK-segment in the LISTEN state does trigger the sending of a RST-segment") | Unknown | Passed | 17 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-ack-listen/all-rcv-syn-ack-listen-tests: -------------------------------------------------------------------------------- 1 | state-event-engine/rcv-syn-ack-listen/rcv-syn-ack-without-data-listen-ipv4 2 | state-event-engine/rcv-syn-ack-listen/rcv-syn-ack-without-data-listen-ipv6 3 | state-event-engine/rcv-syn-ack-listen/rcv-syn-ack-with-data-listen-ipv4 4 | state-event-engine/rcv-syn-ack-listen/rcv-syn-ack-with-data-listen-ipv6 5 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-ack-listen/run-all-rcv-syn-ack-listen-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2016 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../../run-tests.sh $* all-rcv-syn-ack-listen-tests 29 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-ack-syn-rcvd/README.md: -------------------------------------------------------------------------------- 1 | rcv-syn-ack-syn-rcvd 2 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-ack-syn-sent/all-rcv-syn-ack-syn-sent-tests: -------------------------------------------------------------------------------- 1 | state-event-engine/rcv-syn-ack-syn-sent/rcv-syn-ack-without-data-syn-sent-ack-outside-left-ipv4 2 | state-event-engine/rcv-syn-ack-syn-sent/rcv-syn-ack-without-data-syn-sent-ack-outside-left-ipv6 3 | state-event-engine/rcv-syn-ack-syn-sent/rcv-syn-ack-without-data-syn-sent-ack-left-edge-ipv4 4 | state-event-engine/rcv-syn-ack-syn-sent/rcv-syn-ack-without-data-syn-sent-ack-left-edge-ipv6 5 | state-event-engine/rcv-syn-ack-syn-sent/rcv-syn-ack-without-data-syn-sent-ack-outside-right-ipv4 6 | state-event-engine/rcv-syn-ack-syn-sent/rcv-syn-ack-without-data-syn-sent-ack-outside-right-ipv6 7 | state-event-engine/rcv-syn-ack-syn-sent/rcv-syn-ack-with-data-syn-sent-ack-outside-left-ipv4 8 | state-event-engine/rcv-syn-ack-syn-sent/rcv-syn-ack-with-data-syn-sent-ack-outside-left-ipv6 9 | state-event-engine/rcv-syn-ack-syn-sent/rcv-syn-ack-with-data-syn-sent-ack-left-edge-ipv4 10 | state-event-engine/rcv-syn-ack-syn-sent/rcv-syn-ack-with-data-syn-sent-ack-left-edge-ipv6 11 | state-event-engine/rcv-syn-ack-syn-sent/rcv-syn-ack-with-data-syn-sent-ack-outside-right-ipv4 12 | state-event-engine/rcv-syn-ack-syn-sent/rcv-syn-ack-with-data-syn-sent-ack-outside-right-ipv6 13 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-ack-syn-sent/run-all-rcv-syn-ack-syn-sent-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2016 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../../run-tests.sh $* all-rcv-syn-ack-syn-sent-tests 29 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-ack-time-wait/all-rcv-syn-ack-time-wait-tests: -------------------------------------------------------------------------------- 1 | state-event-engine/rcv-syn-ack-time-wait/rcv-syn-ack-time-wait-using-shutdown-outside-left-secure-ipv4 2 | state-event-engine/rcv-syn-ack-time-wait/rcv-syn-ack-time-wait-using-shutdown-outside-left-secure-ipv6 3 | state-event-engine/rcv-syn-ack-time-wait/rcv-syn-ack-time-wait-using-shutdown-left-edge-secure-ipv4 4 | state-event-engine/rcv-syn-ack-time-wait/rcv-syn-ack-time-wait-using-shutdown-left-edge-secure-ipv6 5 | state-event-engine/rcv-syn-ack-time-wait/rcv-syn-ack-time-wait-using-shutdown-right-edge-secure-ipv4 6 | state-event-engine/rcv-syn-ack-time-wait/rcv-syn-ack-time-wait-using-shutdown-right-edge-secure-ipv6 7 | state-event-engine/rcv-syn-ack-time-wait/rcv-syn-ack-time-wait-using-shutdown-outside-right-secure-ipv4 8 | state-event-engine/rcv-syn-ack-time-wait/rcv-syn-ack-time-wait-using-shutdown-outside-right-secure-ipv6 9 | state-event-engine/rcv-syn-ack-time-wait/rcv-syn-ack-time-wait-using-shutdown-outside-left-insecure-ipv4 10 | state-event-engine/rcv-syn-ack-time-wait/rcv-syn-ack-time-wait-using-shutdown-outside-left-insecure-ipv6 11 | state-event-engine/rcv-syn-ack-time-wait/rcv-syn-ack-time-wait-using-shutdown-left-edge-insecure-ipv4 12 | state-event-engine/rcv-syn-ack-time-wait/rcv-syn-ack-time-wait-using-shutdown-left-edge-insecure-ipv6 13 | state-event-engine/rcv-syn-ack-time-wait/rcv-syn-ack-time-wait-using-shutdown-right-edge-insecure-ipv4 14 | state-event-engine/rcv-syn-ack-time-wait/rcv-syn-ack-time-wait-using-shutdown-right-edge-insecure-ipv6 15 | state-event-engine/rcv-syn-ack-time-wait/rcv-syn-ack-time-wait-using-shutdown-outside-right-insecure-ipv4 16 | state-event-engine/rcv-syn-ack-time-wait/rcv-syn-ack-time-wait-using-shutdown-outside-right-insecure-ipv6 17 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-ack-time-wait/run-all-rcv-syn-ack-time-wait-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2016 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../../run-tests.sh $* all-rcv-syn-ack-time-wait-tests 29 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-close-wait/all-rcv-syn-close-wait-tests: -------------------------------------------------------------------------------- 1 | state-event-engine/rcv-syn-close-wait/rcv-syn-close-wait-outside-left-secure-ipv4 2 | state-event-engine/rcv-syn-close-wait/rcv-syn-close-wait-outside-left-secure-ipv6 3 | state-event-engine/rcv-syn-close-wait/rcv-syn-close-wait-left-edge-secure-ipv4 4 | state-event-engine/rcv-syn-close-wait/rcv-syn-close-wait-left-edge-secure-ipv6 5 | state-event-engine/rcv-syn-close-wait/rcv-syn-close-wait-right-edge-secure-ipv4 6 | state-event-engine/rcv-syn-close-wait/rcv-syn-close-wait-right-edge-secure-ipv6 7 | state-event-engine/rcv-syn-close-wait/rcv-syn-close-wait-outside-right-secure-ipv4 8 | state-event-engine/rcv-syn-close-wait/rcv-syn-close-wait-outside-right-secure-ipv6 9 | state-event-engine/rcv-syn-close-wait/rcv-syn-close-wait-outside-left-insecure-ipv4 10 | state-event-engine/rcv-syn-close-wait/rcv-syn-close-wait-outside-left-insecure-ipv6 11 | state-event-engine/rcv-syn-close-wait/rcv-syn-close-wait-left-edge-insecure-ipv4 12 | state-event-engine/rcv-syn-close-wait/rcv-syn-close-wait-left-edge-insecure-ipv6 13 | state-event-engine/rcv-syn-close-wait/rcv-syn-close-wait-right-edge-insecure-ipv4 14 | state-event-engine/rcv-syn-close-wait/rcv-syn-close-wait-right-edge-insecure-ipv6 15 | state-event-engine/rcv-syn-close-wait/rcv-syn-close-wait-outside-right-insecure-ipv4 16 | state-event-engine/rcv-syn-close-wait/rcv-syn-close-wait-outside-right-insecure-ipv6 17 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-close-wait/run-all-rcv-syn-close-wait-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2016 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../../run-tests.sh $* all-rcv-syn-close-wait-tests 29 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-closed/README.md: -------------------------------------------------------------------------------- 1 | # Handling of TCP Segments with the SYN-bit Set in the CLOSED state 2 | 3 | ## Description 4 | This set of tests focuses on the handling of SYN-segments in the CLOSED state. 5 | The state of the end-point should not be affected. 6 | 7 | The required behavior is described in [RFC 0793](https://tools.ietf.org/html/rfc793#section-3.9). 8 | 9 | ## Results 10 | 11 | | Name | Result FreeBSD 11.0 | Result FreeBSD Head | 12 | |:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------------:|:-------------------:| 13 | |[rcv-syn-without-data-closed-ipv4](rcv-syn-without-data-closed-ipv4.pkt "Ensure that the reception of a SYN-segment in the CLOSED state does trigger the sending of a RST-ACK-segment") | Unknown | Passed | 14 | |[rcv-syn-without-data-closed-ipv6](rcv-syn-without-data-closed-ipv6.pkt "Ensure that the reception of a SYN-segment in the CLOSED state does trigger the sending of a RST-ACK-segment") | Unknown | Passed | 15 | |[rcv-syn-with-data-closed-ipv4](rcv-syn-with-data-closed-ipv4.pkt "Ensure that the reception of a SYN-segment in the CLOSED state does trigger the sending of a RST-ACK-segment") | Unknown | Passed | 16 | |[rcv-syn-with-data-closed-ipv6](rcv-syn-with-data-closed-ipv6.pkt "Ensure that the reception of a SYN-segment in the CLOSED state does trigger the sending of a RST-ACK-segment") | Unknown | Passed | 17 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-closed/all-rcv-syn-closed-tests: -------------------------------------------------------------------------------- 1 | state-event-engine/rcv-syn-closed/rcv-syn-without-data-closed-ipv4 2 | state-event-engine/rcv-syn-closed/rcv-syn-without-data-closed-ipv6 3 | state-event-engine/rcv-syn-closed/rcv-syn-with-data-closed-ipv4 4 | state-event-engine/rcv-syn-closed/rcv-syn-with-data-closed-ipv6 5 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-closed/run-all-rcv-syn-closed-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2016 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../../run-tests.sh $* all-rcv-syn-closed-tests 29 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-closing/all-rcv-syn-closing-tests: -------------------------------------------------------------------------------- 1 | state-event-engine/rcv-syn-closing/rcv-syn-closing-outside-left-secure-ipv4 2 | state-event-engine/rcv-syn-closing/rcv-syn-closing-outside-left-secure-ipv6 3 | state-event-engine/rcv-syn-closing/rcv-syn-closing-left-edge-secure-ipv4 4 | state-event-engine/rcv-syn-closing/rcv-syn-closing-left-edge-secure-ipv6 5 | state-event-engine/rcv-syn-closing/rcv-syn-closing-right-edge-secure-ipv4 6 | state-event-engine/rcv-syn-closing/rcv-syn-closing-right-edge-secure-ipv6 7 | state-event-engine/rcv-syn-closing/rcv-syn-closing-outside-right-secure-ipv4 8 | state-event-engine/rcv-syn-closing/rcv-syn-closing-outside-right-secure-ipv6 9 | state-event-engine/rcv-syn-closing/rcv-syn-closing-outside-left-insecure-ipv4 10 | state-event-engine/rcv-syn-closing/rcv-syn-closing-outside-left-insecure-ipv6 11 | state-event-engine/rcv-syn-closing/rcv-syn-closing-left-edge-insecure-ipv4 12 | state-event-engine/rcv-syn-closing/rcv-syn-closing-left-edge-insecure-ipv6 13 | state-event-engine/rcv-syn-closing/rcv-syn-closing-right-edge-insecure-ipv4 14 | state-event-engine/rcv-syn-closing/rcv-syn-closing-right-edge-insecure-ipv6 15 | state-event-engine/rcv-syn-closing/rcv-syn-closing-outside-right-insecure-ipv4 16 | state-event-engine/rcv-syn-closing/rcv-syn-closing-outside-right-insecure-ipv6 17 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-closing/run-all-rcv-syn-closing-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2016 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../../run-tests.sh $* all-rcv-syn-closing-tests 29 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-established/all-rcv-syn-established-tests: -------------------------------------------------------------------------------- 1 | state-event-engine/rcv-syn-established/rcv-syn-established-outside-left-secure-ipv4 2 | state-event-engine/rcv-syn-established/rcv-syn-established-outside-left-secure-ipv6 3 | state-event-engine/rcv-syn-established/rcv-syn-established-left-edge-secure-ipv4 4 | state-event-engine/rcv-syn-established/rcv-syn-established-left-edge-secure-ipv6 5 | state-event-engine/rcv-syn-established/rcv-syn-established-right-edge-secure-ipv4 6 | state-event-engine/rcv-syn-established/rcv-syn-established-right-edge-secure-ipv6 7 | state-event-engine/rcv-syn-established/rcv-syn-established-outside-right-secure-ipv4 8 | state-event-engine/rcv-syn-established/rcv-syn-established-outside-right-secure-ipv6 9 | state-event-engine/rcv-syn-established/rcv-syn-established-outside-left-insecure-ipv4 10 | state-event-engine/rcv-syn-established/rcv-syn-established-outside-left-insecure-ipv6 11 | state-event-engine/rcv-syn-established/rcv-syn-established-left-edge-insecure-ipv4 12 | state-event-engine/rcv-syn-established/rcv-syn-established-left-edge-insecure-ipv6 13 | state-event-engine/rcv-syn-established/rcv-syn-established-right-edge-insecure-ipv4 14 | state-event-engine/rcv-syn-established/rcv-syn-established-right-edge-insecure-ipv6 15 | state-event-engine/rcv-syn-established/rcv-syn-established-outside-right-insecure-ipv4 16 | state-event-engine/rcv-syn-established/rcv-syn-established-outside-right-insecure-ipv6 17 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-established/run-all-rcv-syn-established-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2016 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../../run-tests.sh $* all-rcv-syn-established-tests 29 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-fin-close-wait/README.md: -------------------------------------------------------------------------------- 1 | rcv-syn-fin-close-wait 2 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-fin-closed/README.md: -------------------------------------------------------------------------------- 1 | # Handling of TCP Segments with the SYN-FIN-bits Set in the CLOSED state 2 | 3 | ## Description 4 | This set of tests focuses on the handling of SYN-FIN-segments in the CLOSED state. 5 | The state of the end-point should not be affected. 6 | 7 | The required behavior is described in [RFC 0793](https://tools.ietf.org/html/rfc793#section-3.9). 8 | 9 | ## Results 10 | 11 | | Name | Result FreeBSD 11.0 | Result FreeBSD Head | 12 | |:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------------:|:-------------------:| 13 | |[rcv-syn-fin-without-data-closed-ipv4](rcv-syn-fin-without-data-closed-ipv4.pkt "Ensure that the reception of a SYN-FIN-segment in the CLOSED state does trigger the sending of a RST-ACK-segment") | Unknown | Passed (Note 1) | 14 | |[rcv-syn-fin-without-data-closed-ipv6](rcv-syn-fin-without-data-closed-ipv6.pkt "Ensure that the reception of a SYN-FIN-segment in the CLOSED state does trigger the sending of a RST-ACK-segment") | Unknown | Passed (Note 1) | 15 | |[rcv-syn-fin-with-data-closed-ipv4](rcv-syn-fin-with-data-closed-ipv4.pkt "Ensure that the reception of a SYN-FIN-segment in the CLOSED state does trigger the sending of a RST-ACK-segment") | Unknown | Passed (Note 1) | 16 | |[rcv-syn-fin-with-data-closed-ipv6](rcv-syn-fin-with-data-closed-ipv6.pkt "Ensure that the reception of a SYN-FIN-segment in the CLOSED state does trigger the sending of a RST-ACK-segment") | Unknown | Passed (Note 1) | 17 | 18 | ## Notes 19 | 1. A FIN-segments occupy one byte in the sequence number space. Currently this is not accounted for when generating the RST-ACK segment. 20 | Fixed in [r309397](https://svnweb.freebsd.org/changeset/base/309397) ([D8667](https://reviews.freebsd.org/D8667)). 21 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-fin-closed/all-rcv-syn-fin-closed-tests: -------------------------------------------------------------------------------- 1 | state-event-engine/rcv-syn-fin-closed/rcv-syn-fin-without-data-closed-ipv4 2 | state-event-engine/rcv-syn-fin-closed/rcv-syn-fin-without-data-closed-ipv6 3 | state-event-engine/rcv-syn-fin-closed/rcv-syn-fin-with-data-closed-ipv4 4 | state-event-engine/rcv-syn-fin-closed/rcv-syn-fin-with-data-closed-ipv6 5 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-fin-closed/run-all-rcv-syn-fin-closed-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2016 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../../run-tests.sh $* all-rcv-syn-fin-closed-tests 29 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-fin-closing/README.md: -------------------------------------------------------------------------------- 1 | rcv-syn-fin-closing 2 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-fin-established/README.md: -------------------------------------------------------------------------------- 1 | rcv-syn-fin-established 2 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-fin-fin-wait-1/README.md: -------------------------------------------------------------------------------- 1 | rcv-syn-fin-fin-wait-1 2 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-fin-fin-wait-2/README.md: -------------------------------------------------------------------------------- 1 | rcv-syn-fin-fin-wait-2 2 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-fin-last-ack/README.md: -------------------------------------------------------------------------------- 1 | rcv-syn-fin-last-ack 2 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-fin-listen/all-rcv-syn-fin-listen-tests: -------------------------------------------------------------------------------- 1 | state-event-engine/rcv-syn-fin-listen/rcv-syn-fin-without-data-listen-dropping-disabled-ipv4 2 | state-event-engine/rcv-syn-fin-listen/rcv-syn-fin-without-data-listen-dropping-disabled-ipv6 3 | state-event-engine/rcv-syn-fin-listen/rcv-syn-fin-with-data-listen-dropping-disabled-ipv4 4 | state-event-engine/rcv-syn-fin-listen/rcv-syn-fin-with-data-listen-dropping-disabled-ipv6 5 | state-event-engine/rcv-syn-fin-listen/rcv-syn-fin-without-data-listen-dropping-enabled-ipv4 6 | state-event-engine/rcv-syn-fin-listen/rcv-syn-fin-without-data-listen-dropping-enabled-ipv6 7 | state-event-engine/rcv-syn-fin-listen/rcv-syn-fin-with-data-listen-dropping-enabled-ipv4 8 | state-event-engine/rcv-syn-fin-listen/rcv-syn-fin-with-data-listen-dropping-enabled-ipv6 9 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-fin-listen/run-all-rcv-syn-fin-listen-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2016 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../../run-tests.sh $* all-rcv-syn-fin-listen-tests 29 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-fin-syn-rcvd/README.md: -------------------------------------------------------------------------------- 1 | rcv-syn-fin-syn-rcvd 2 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-fin-syn-sent/all-rcv-syn-fin-syn-sent-tests: -------------------------------------------------------------------------------- 1 | state-event-engine/rcv-syn-fin-syn-sent/rcv-syn-fin-without-data-syn-sent-dropping-disabled-ipv4 2 | state-event-engine/rcv-syn-fin-syn-sent/rcv-syn-fin-without-data-syn-sent-dropping-disabled-ipv6 3 | state-event-engine/rcv-syn-fin-syn-sent/rcv-syn-fin-with-data-syn-sent-dropping-disabled-ipv4 4 | state-event-engine/rcv-syn-fin-syn-sent/rcv-syn-fin-with-data-syn-sent-dropping-disabled-ipv6 5 | state-event-engine/rcv-syn-fin-syn-sent/rcv-syn-fin-without-data-syn-sent-dropping-enabled-ipv4 6 | state-event-engine/rcv-syn-fin-syn-sent/rcv-syn-fin-without-data-syn-sent-dropping-enabled-ipv6 7 | state-event-engine/rcv-syn-fin-syn-sent/rcv-syn-fin-with-data-syn-sent-dropping-enabled-ipv4 8 | state-event-engine/rcv-syn-fin-syn-sent/rcv-syn-fin-with-data-syn-sent-dropping-enabled-ipv6 9 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-fin-syn-sent/run-all-rcv-syn-fin-syn-sent-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2016 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../../run-tests.sh $* all-rcv-syn-fin-syn-sent-tests 29 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-fin-time-wait/run-all-rcv-syn-fin-time-wait-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2016 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../../run-tests.sh $* all-rcv-syn-fin-time-wait-tests 29 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-fin-wait-1/all-rcv-syn-fin-wait-1-tests: -------------------------------------------------------------------------------- 1 | state-event-engine/rcv-syn-fin-wait-1/rcv-syn-fin-wait-1-outside-left-secure-ipv4 2 | state-event-engine/rcv-syn-fin-wait-1/rcv-syn-fin-wait-1-outside-left-secure-ipv6 3 | state-event-engine/rcv-syn-fin-wait-1/rcv-syn-fin-wait-1-left-edge-secure-ipv4 4 | state-event-engine/rcv-syn-fin-wait-1/rcv-syn-fin-wait-1-left-edge-secure-ipv6 5 | state-event-engine/rcv-syn-fin-wait-1/rcv-syn-fin-wait-1-right-edge-secure-ipv4 6 | state-event-engine/rcv-syn-fin-wait-1/rcv-syn-fin-wait-1-right-edge-secure-ipv6 7 | state-event-engine/rcv-syn-fin-wait-1/rcv-syn-fin-wait-1-outside-right-secure-ipv4 8 | state-event-engine/rcv-syn-fin-wait-1/rcv-syn-fin-wait-1-outside-right-secure-ipv6 9 | state-event-engine/rcv-syn-fin-wait-1/rcv-syn-fin-wait-1-outside-left-insecure-ipv4 10 | state-event-engine/rcv-syn-fin-wait-1/rcv-syn-fin-wait-1-outside-left-insecure-ipv6 11 | state-event-engine/rcv-syn-fin-wait-1/rcv-syn-fin-wait-1-left-edge-insecure-ipv4 12 | state-event-engine/rcv-syn-fin-wait-1/rcv-syn-fin-wait-1-left-edge-insecure-ipv6 13 | state-event-engine/rcv-syn-fin-wait-1/rcv-syn-fin-wait-1-right-edge-insecure-ipv4 14 | state-event-engine/rcv-syn-fin-wait-1/rcv-syn-fin-wait-1-right-edge-insecure-ipv6 15 | state-event-engine/rcv-syn-fin-wait-1/rcv-syn-fin-wait-1-outside-right-insecure-ipv4 16 | state-event-engine/rcv-syn-fin-wait-1/rcv-syn-fin-wait-1-outside-right-insecure-ipv6 17 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-fin-wait-1/run-all-rcv-syn-fin-wait-1-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2016 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../../run-tests.sh $* all-rcv-syn-fin-wait-1-tests 29 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-fin-wait-2/all-rcv-syn-fin-wait-2-tests: -------------------------------------------------------------------------------- 1 | state-event-engine/rcv-syn-fin-wait-2/rcv-syn-fin-wait-2-outside-left-secure-ipv4 2 | state-event-engine/rcv-syn-fin-wait-2/rcv-syn-fin-wait-2-outside-left-secure-ipv6 3 | state-event-engine/rcv-syn-fin-wait-2/rcv-syn-fin-wait-2-left-edge-secure-ipv4 4 | state-event-engine/rcv-syn-fin-wait-2/rcv-syn-fin-wait-2-left-edge-secure-ipv6 5 | state-event-engine/rcv-syn-fin-wait-2/rcv-syn-fin-wait-2-right-edge-secure-ipv4 6 | state-event-engine/rcv-syn-fin-wait-2/rcv-syn-fin-wait-2-right-edge-secure-ipv6 7 | state-event-engine/rcv-syn-fin-wait-2/rcv-syn-fin-wait-2-outside-right-secure-ipv4 8 | state-event-engine/rcv-syn-fin-wait-2/rcv-syn-fin-wait-2-outside-right-secure-ipv6 9 | state-event-engine/rcv-syn-fin-wait-2/rcv-syn-fin-wait-2-outside-left-insecure-ipv4 10 | state-event-engine/rcv-syn-fin-wait-2/rcv-syn-fin-wait-2-outside-left-insecure-ipv6 11 | state-event-engine/rcv-syn-fin-wait-2/rcv-syn-fin-wait-2-left-edge-insecure-ipv4 12 | state-event-engine/rcv-syn-fin-wait-2/rcv-syn-fin-wait-2-left-edge-insecure-ipv6 13 | state-event-engine/rcv-syn-fin-wait-2/rcv-syn-fin-wait-2-right-edge-insecure-ipv4 14 | state-event-engine/rcv-syn-fin-wait-2/rcv-syn-fin-wait-2-right-edge-insecure-ipv6 15 | state-event-engine/rcv-syn-fin-wait-2/rcv-syn-fin-wait-2-outside-right-insecure-ipv4 16 | state-event-engine/rcv-syn-fin-wait-2/rcv-syn-fin-wait-2-outside-right-insecure-ipv6 17 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-fin-wait-2/run-all-rcv-syn-fin-wait-2-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2016 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../../run-tests.sh $* all-rcv-syn-fin-wait-2-tests 29 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-last-ack/all-rcv-syn-last-ack-tests: -------------------------------------------------------------------------------- 1 | state-event-engine/rcv-syn-last-ack/rcv-syn-last-ack-outside-left-secure-ipv4 2 | state-event-engine/rcv-syn-last-ack/rcv-syn-last-ack-outside-left-secure-ipv6 3 | state-event-engine/rcv-syn-last-ack/rcv-syn-last-ack-left-edge-secure-ipv4 4 | state-event-engine/rcv-syn-last-ack/rcv-syn-last-ack-left-edge-secure-ipv6 5 | state-event-engine/rcv-syn-last-ack/rcv-syn-last-ack-right-edge-secure-ipv4 6 | state-event-engine/rcv-syn-last-ack/rcv-syn-last-ack-right-edge-secure-ipv6 7 | state-event-engine/rcv-syn-last-ack/rcv-syn-last-ack-outside-right-secure-ipv4 8 | state-event-engine/rcv-syn-last-ack/rcv-syn-last-ack-outside-right-secure-ipv6 9 | state-event-engine/rcv-syn-last-ack/rcv-syn-last-ack-outside-left-insecure-ipv4 10 | state-event-engine/rcv-syn-last-ack/rcv-syn-last-ack-outside-left-insecure-ipv6 11 | state-event-engine/rcv-syn-last-ack/rcv-syn-last-ack-left-edge-insecure-ipv4 12 | state-event-engine/rcv-syn-last-ack/rcv-syn-last-ack-left-edge-insecure-ipv6 13 | state-event-engine/rcv-syn-last-ack/rcv-syn-last-ack-right-edge-insecure-ipv4 14 | state-event-engine/rcv-syn-last-ack/rcv-syn-last-ack-right-edge-insecure-ipv6 15 | state-event-engine/rcv-syn-last-ack/rcv-syn-last-ack-outside-right-insecure-ipv4 16 | state-event-engine/rcv-syn-last-ack/rcv-syn-last-ack-outside-right-insecure-ipv6 17 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-last-ack/run-all-rcv-syn-last-ack-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2016 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../../run-tests.sh $* all-rcv-syn-last-ack-tests 29 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-listen/README.md: -------------------------------------------------------------------------------- 1 | # Handling of TCP Segments with the SYN-bit Set in the LISTEN state 2 | 3 | ## Description 4 | This set of tests focuses on the handling of SYN-segments in the LISTEN state. 5 | A SYN-ACK segments should be sent.. 6 | 7 | The required behavior is described in [RFC 0793](https://tools.ietf.org/html/rfc793#section-3.9). 8 | 9 | ## Results 10 | 11 | | Name | Result FreeBSD 11.0 | Result FreeBSD Head | 12 | |:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------------:|:-------------------:| 13 | |[rcv-syn-without-data-listen-ipv4](rcv-syn-without-data-listen-ipv4.pkt "Ensure that the reception of a SYN-segment in the CLOSED state does trigger the sending of a SYN-ACK-segment") | Unknown | Passed | 14 | |[rcv-syn-without-data-listen-ipv6](rcv-syn-without-data-listen-ipv6.pkt "Ensure that the reception of a SYN-segment in the CLOSED state does trigger the sending of a SYN-ACK-segment") | Unknown | Passed | 15 | |[rcv-syn-with-data-listen-ipv4](rcv-syn-with-data-listen-ipv4.pkt "Ensure that the reception of a SYN-segment in the CLOSED state does trigger the sending of a SYN-ACK-segment") | Unknown | Passed | 16 | |[rcv-syn-with-data-listen-ipv6](rcv-syn-with-data-listen-ipv6.pkt "Ensure that the reception of a SYN-segment in the CLOSED state does trigger the sending of a SYN-ACK-segment") | Unknown | Passed | 17 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-listen/all-rcv-syn-listen-tests: -------------------------------------------------------------------------------- 1 | state-event-engine/rcv-syn-listen/rcv-syn-without-data-listen-ipv4 2 | state-event-engine/rcv-syn-listen/rcv-syn-without-data-listen-ipv6 3 | state-event-engine/rcv-syn-listen/rcv-syn-with-data-listen-ipv4 4 | state-event-engine/rcv-syn-listen/rcv-syn-with-data-listen-ipv6 5 | 6 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-listen/run-all-rcv-syn-listen-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2016 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../../run-tests.sh $* all-rcv-syn-listen-tests 29 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-syn-rcvd/README.md: -------------------------------------------------------------------------------- 1 | rcv-syn-syn-rcvd 2 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-syn-sent/README.md: -------------------------------------------------------------------------------- 1 | # Handling of TCP Segments with the SYN-bit Set in the SYN-SENT State 2 | 3 | ## Description 4 | This set of tests focuses on the handling of SYN-segments in the `SYN-SENT` state. 5 | 6 | [RFC 0793](https://tools.ietf.org/html/rfc0793) requires SYN-segments to trigger 7 | the sending of a SYN-ACK segment and to change the TCP connection state to `SYN-RCVD`. 8 | 9 | ## Status 10 | 11 | | Name | Result FreeBSD 11.0 | Result FreeBSD Head | 12 | |:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------------:|:-------------------:| 13 | |[rcv-syn-without-data-syn-sent-ipv4](rcv-syn-without-data-syn-sent-ipv4.pkt "Ensure that the reception of a TCP SYN in the SYN-SENT state triggers the sending of a SYN-ACK and changes the TCP connection state to SYN-RCVD") | Unknown | Passed (Note 1) | 14 | |[rcv-syn-without-data-syn-sent-ipv6](rcv-syn-without-data-syn-sent-ipv6.pkt "Ensure that the reception of a TCP SYN in the SYN-SENT state triggers the sending of a SYN-ACK and changes the TCP connection state to SYN-RCVD") | Unknown | Passed (Note 1) | 15 | |[rcv-syn-with-data-syn-sent-ipv4](rcv-syn-with-data-syn-sent-ipv4.pkt "Ensure that the reception of a TCP SYN in the SYN-SENT state triggers the sending of a SYN-ACK and changes the TCP connection state to SYN-RCVD") | Unknown | Passed (Note 1,2) | 16 | |[rcv-syn-with-data-syn-sent-ipv6](rcv-syn-with-data-syn-sent-ipv6.pkt "Ensure that the reception of a TCP SYN in the SYN-SENT state triggers the sending of a SYN-ACK and changes the TCP connection state to SYN-RCVD") | Unknown | Passed (Note 1,2) | 17 | 18 | ## Notes 19 | 20 | 1. The SYN-ACK sent does not contain the SACK Permitted option anymore. Other options are still reported. 21 | 2. The data on the SYN segment is buffered and delivered after the handshake is complete. It is also only acknowledged after the handshake. 22 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-syn-sent/all-rcv-syn-syn-sent-tests: -------------------------------------------------------------------------------- 1 | state-event-engine/rcv-syn-syn-sent/rcv-syn-without-data-syn-sent-ipv4 2 | state-event-engine/rcv-syn-syn-sent/rcv-syn-without-data-syn-sent-ipv6 3 | state-event-engine/rcv-syn-syn-sent/rcv-syn-with-data-syn-sent-ipv4 4 | state-event-engine/rcv-syn-syn-sent/rcv-syn-with-data-syn-sent-ipv6 5 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-syn-sent/run-all-rcv-syn-syn-sent-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2016 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../../run-tests.sh $* all-rcv-syn-syn-sent-tests 29 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-time-wait/all-rcv-syn-time-wait-tests: -------------------------------------------------------------------------------- 1 | state-event-engine/rcv-syn-time-wait/rcv-syn-time-wait-using-shutdown-outside-left-secure-ipv4 2 | state-event-engine/rcv-syn-time-wait/rcv-syn-time-wait-using-shutdown-outside-left-secure-ipv6 3 | state-event-engine/rcv-syn-time-wait/rcv-syn-time-wait-using-shutdown-left-edge-secure-ipv4 4 | state-event-engine/rcv-syn-time-wait/rcv-syn-time-wait-using-shutdown-left-edge-secure-ipv6 5 | state-event-engine/rcv-syn-time-wait/rcv-syn-time-wait-using-shutdown-right-edge-secure-ipv4 6 | state-event-engine/rcv-syn-time-wait/rcv-syn-time-wait-using-shutdown-right-edge-secure-ipv6 7 | state-event-engine/rcv-syn-time-wait/rcv-syn-time-wait-using-shutdown-outside-right-secure-ipv4 8 | state-event-engine/rcv-syn-time-wait/rcv-syn-time-wait-using-shutdown-outside-right-secure-ipv6 9 | state-event-engine/rcv-syn-time-wait/rcv-syn-time-wait-using-shutdown-outside-left-insecure-ipv4 10 | state-event-engine/rcv-syn-time-wait/rcv-syn-time-wait-using-shutdown-outside-left-insecure-ipv6 11 | state-event-engine/rcv-syn-time-wait/rcv-syn-time-wait-using-shutdown-left-edge-insecure-ipv4 12 | state-event-engine/rcv-syn-time-wait/rcv-syn-time-wait-using-shutdown-left-edge-insecure-ipv6 13 | state-event-engine/rcv-syn-time-wait/rcv-syn-time-wait-using-shutdown-right-edge-insecure-ipv4 14 | state-event-engine/rcv-syn-time-wait/rcv-syn-time-wait-using-shutdown-right-edge-insecure-ipv6 15 | state-event-engine/rcv-syn-time-wait/rcv-syn-time-wait-using-shutdown-outside-right-insecure-ipv4 16 | state-event-engine/rcv-syn-time-wait/rcv-syn-time-wait-using-shutdown-outside-right-insecure-ipv6 17 | -------------------------------------------------------------------------------- /state-event-engine/rcv-syn-time-wait/run-all-rcv-syn-time-wait-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2016 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../../run-tests.sh $* all-rcv-syn-time-wait-tests 29 | -------------------------------------------------------------------------------- /state-event-engine/tcpstate.d: -------------------------------------------------------------------------------- 1 | #!/usr/sbin/dtrace -s 2 | 3 | #pragma D option quiet 4 | #pragma D option switchrate=25hz 5 | #pragma D option temporal 6 | 7 | /* 8 | * Watch TCP connection state transitions in real time. 9 | * This script is based on 10 | * https://people.freebsd.org/~markj/dtrace/network-providers/tcp/tcpstate.d 11 | */ 12 | 13 | int last[int]; 14 | 15 | dtrace:::BEGIN 16 | { 17 | printf(" %3s %12s %-18s %-20s %-20s %s\n", 18 | "CPU", "DELTA(us)", "CID", "OLD", "NEW", "TIMESTAMP"); 19 | } 20 | 21 | tcp:::state-change 22 | /last[args[1]->cs_cid]/ 23 | { 24 | this->elapsed = (timestamp - last[args[1]->cs_cid]) / 1000; 25 | printf(" %3d %12d %-18x %-20s -> %-20s %d\n", 26 | cpu, 27 | this->elapsed, 28 | args[1]->cs_cid, 29 | tcp_state_string[args[5]->tcps_state], 30 | tcp_state_string[args[3]->tcps_state], 31 | timestamp); 32 | last[args[1]->cs_cid] = timestamp; 33 | } 34 | 35 | tcp:::state-change 36 | /last[args[1]->cs_cid] == 0 && execname == "packetdrill"/ 37 | { 38 | printf(" %3d %12s %-18x %-20s -> %-20s %d\n", 39 | cpu, 40 | "-", 41 | args[1]->cs_cid, 42 | tcp_state_string[args[5]->tcps_state], 43 | tcp_state_string[args[3]->tcps_state], 44 | timestamp); 45 | last[args[1]->cs_cid] = timestamp; 46 | } 47 | -------------------------------------------------------------------------------- /tcp-over-udp/run-all-tcp-over-udp-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 3 | # Copyright (c) 2017 Michael Tuexen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 2. Redistributions in binary form must reproduce the above copyright 12 | # notice, this list of conditions and the following disclaimer in the 13 | # documentation and/or other materials provided with the distribution. 14 | # 15 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | # SUCH DAMAGE. 26 | # 27 | 28 | ../run-tests.sh -t 180 -T 25000 -i tun0 $* all-tcp-over-udp-tests 29 | -------------------------------------------------------------------------------- /tcp-over-udp/sysctl-pmtud-blackhole-detection-ipv4.pkt.timeout: -------------------------------------------------------------------------------- 1 | 90 2 | -------------------------------------------------------------------------------- /tcp-over-udp/sysctl-pmtud-blackhole-detection-ipv6.pkt.timeout: -------------------------------------------------------------------------------- 1 | 90 2 | --------------------------------------------------------------------------------