summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore3
-rw-r--r--.gitlab-ci.yml144
-rw-r--r--CMakeLists.txt22
-rw-r--r--autorelease.sh33
-rw-r--r--autorevision.sh1268
-rw-r--r--ci/get-nprocessors.sh48
-rw-r--r--ci/perpare_pulp3_netrc.sh3
-rw-r--r--ci/travis.sh65
-rw-r--r--cmake/FindSYSTEMD.cmake39
-rw-r--r--cmake/Package.cmake64
-rw-r--r--cmake/Version.cmake49
-rw-r--r--cmake/changelog.sh4
-rw-r--r--readme.md59
-rw-r--r--readme.txt14
-rw-r--r--src/CHANGES (renamed from CHANGES)0
-rw-r--r--src/CREDITS (renamed from CREDITS)0
-rw-r--r--src/INSTALL.txt (renamed from INSTALL.txt)0
-rw-r--r--src/LICENSE (renamed from LICENSE)0
-rw-r--r--src/Makefile-devel-adds (renamed from Makefile-devel-adds)0
-rw-r--r--src/Makefile.in (renamed from Makefile.in)0
-rw-r--r--src/README.md (renamed from README.md)0
-rw-r--r--src/Readme.Win32 (renamed from Readme.Win32)0
-rw-r--r--src/VERSION (renamed from VERSION)0
-rw-r--r--src/aclocal.m4 (renamed from aclocal.m4)0
-rw-r--r--src/addrtoname.c (renamed from addrtoname.c)0
-rw-r--r--src/addrtoname.h (renamed from addrtoname.h)0
-rw-r--r--src/addrtostr.c (renamed from addrtostr.c)0
-rw-r--r--src/addrtostr.h (renamed from addrtostr.h)0
-rw-r--r--src/af.c (renamed from af.c)0
-rw-r--r--src/af.h (renamed from af.h)0
-rw-r--r--src/ah.h (renamed from ah.h)0
-rw-r--r--src/appletalk.h (renamed from appletalk.h)0
-rw-r--r--src/ascii_strcasecmp.c (renamed from ascii_strcasecmp.c)0
-rw-r--r--src/ascii_strcasecmp.h (renamed from ascii_strcasecmp.h)0
-rw-r--r--src/atime.awk (renamed from atime.awk)0
-rw-r--r--src/atm.h (renamed from atm.h)0
-rw-r--r--src/bpf_dump.c (renamed from bpf_dump.c)0
-rw-r--r--src/chdlc.h (renamed from chdlc.h)0
-rw-r--r--src/checksum.c (renamed from checksum.c)0
-rw-r--r--src/config.guess (renamed from config.guess)0
-rw-r--r--src/config.h.in (renamed from config.h.in)0
-rw-r--r--src/config.sub (renamed from config.sub)0
-rwxr-xr-x[-rw-r--r--]src/configure (renamed from configure)0
-rw-r--r--src/configure.in (renamed from configure.in)0
-rw-r--r--src/cpack.c (renamed from cpack.c)0
-rw-r--r--src/cpack.h (renamed from cpack.h)0
-rw-r--r--src/ether.h (renamed from ether.h)0
-rw-r--r--src/ethertype.h (renamed from ethertype.h)0
-rw-r--r--src/extract.h (renamed from extract.h)0
-rw-r--r--src/getopt_long.h (renamed from getopt_long.h)0
-rw-r--r--src/gmpls.c (renamed from gmpls.c)0
-rw-r--r--src/gmpls.h (renamed from gmpls.h)0
-rw-r--r--src/gmt2local.c (renamed from gmt2local.c)0
-rw-r--r--src/gmt2local.h (renamed from gmt2local.h)0
-rw-r--r--src/in_cksum.c (renamed from in_cksum.c)0
-rw-r--r--src/install-sh (renamed from install-sh)0
-rw-r--r--src/interface.h (renamed from interface.h)0
-rw-r--r--src/ip.h (renamed from ip.h)0
-rw-r--r--src/ip6.h (renamed from ip6.h)0
-rw-r--r--src/ipproto.c (renamed from ipproto.c)0
-rw-r--r--src/ipproto.h (renamed from ipproto.h)0
-rw-r--r--src/l2vpn.c (renamed from l2vpn.c)0
-rw-r--r--src/l2vpn.h (renamed from l2vpn.h)0
-rw-r--r--src/lbl/os-osf4.h (renamed from lbl/os-osf4.h)0
-rw-r--r--src/lbl/os-solaris2.h (renamed from lbl/os-solaris2.h)0
-rw-r--r--src/lbl/os-sunos4.h (renamed from lbl/os-sunos4.h)0
-rw-r--r--src/lbl/os-ultrix4.h (renamed from lbl/os-ultrix4.h)0
-rw-r--r--src/llc.h (renamed from llc.h)0
-rw-r--r--src/machdep.c (renamed from machdep.c)0
-rw-r--r--src/machdep.h (renamed from machdep.h)0
-rw-r--r--src/makemib (renamed from makemib)0
-rw-r--r--src/mesa_net.h (renamed from mesa_net.h)0
-rw-r--r--src/mesa_pkt_dump.h (renamed from mesa_pkt_dump.h)0
-rw-r--r--src/mib.h (renamed from mib.h)0
-rw-r--r--src/missing/datalinks.c (renamed from missing/datalinks.c)0
-rw-r--r--src/missing/dlnames.c (renamed from missing/dlnames.c)0
-rw-r--r--src/missing/getopt_long.c (renamed from missing/getopt_long.c)0
-rw-r--r--src/missing/snprintf.c (renamed from missing/snprintf.c)0
-rw-r--r--src/missing/strdup.c (renamed from missing/strdup.c)0
-rw-r--r--src/missing/strlcat.c (renamed from missing/strlcat.c)0
-rw-r--r--src/missing/strlcpy.c (renamed from missing/strlcpy.c)0
-rw-r--r--src/missing/strsep.c (renamed from missing/strsep.c)0
-rw-r--r--src/mkdep (renamed from mkdep)0
-rw-r--r--src/mpls.h (renamed from mpls.h)0
-rw-r--r--src/nameser.h (renamed from nameser.h)0
-rw-r--r--src/net_common.c (renamed from net_common.c)0
-rw-r--r--src/netdissect-stdinc.h (renamed from netdissect-stdinc.h)0
-rw-r--r--src/netdissect.h (renamed from netdissect.h)0
-rw-r--r--src/nfs.h (renamed from nfs.h)0
-rw-r--r--src/nfsfh.h (renamed from nfsfh.h)0
-rw-r--r--src/nlpid.c (renamed from nlpid.c)0
-rw-r--r--src/nlpid.h (renamed from nlpid.h)0
-rw-r--r--src/openflow.h (renamed from openflow.h)0
-rw-r--r--src/ospf.h (renamed from ospf.h)0
-rw-r--r--src/oui.c (renamed from oui.c)0
-rw-r--r--src/oui.h (renamed from oui.h)0
-rw-r--r--src/packetdat.awk (renamed from packetdat.awk)0
-rw-r--r--src/parsenfsfh.c (renamed from parsenfsfh.c)0
-rw-r--r--src/pcap-missing.h (renamed from pcap-missing.h)0
-rw-r--r--src/pcap_dump_ftell.c (renamed from pcap_dump_ftell.c)0
-rw-r--r--src/ppp.h (renamed from ppp.h)0
-rw-r--r--src/print-802_11.c (renamed from print-802_11.c)0
-rw-r--r--src/print-802_15_4.c (renamed from print-802_15_4.c)0
-rw-r--r--src/print-ah.c (renamed from print-ah.c)0
-rw-r--r--src/print-ahcp.c (renamed from print-ahcp.c)0
-rw-r--r--src/print-aodv.c (renamed from print-aodv.c)0
-rw-r--r--src/print-aoe.c (renamed from print-aoe.c)0
-rw-r--r--src/print-ap1394.c (renamed from print-ap1394.c)0
-rw-r--r--src/print-arcnet.c (renamed from print-arcnet.c)0
-rw-r--r--src/print-arp.c (renamed from print-arp.c)0
-rw-r--r--src/print-ascii.c (renamed from print-ascii.c)0
-rw-r--r--src/print-atalk.c (renamed from print-atalk.c)0
-rw-r--r--src/print-atm.c (renamed from print-atm.c)0
-rw-r--r--src/print-babel.c (renamed from print-babel.c)0
-rw-r--r--src/print-beep.c (renamed from print-beep.c)0
-rw-r--r--src/print-bfd.c (renamed from print-bfd.c)0
-rw-r--r--src/print-bgp.c (renamed from print-bgp.c)0
-rw-r--r--src/print-bootp.c (renamed from print-bootp.c)0
-rw-r--r--src/print-bt.c (renamed from print-bt.c)0
-rw-r--r--src/print-calm-fast.c (renamed from print-calm-fast.c)0
-rw-r--r--src/print-carp.c (renamed from print-carp.c)0
-rw-r--r--src/print-cdp.c (renamed from print-cdp.c)0
-rw-r--r--src/print-cfm.c (renamed from print-cfm.c)0
-rw-r--r--src/print-chdlc.c (renamed from print-chdlc.c)0
-rw-r--r--src/print-cip.c (renamed from print-cip.c)0
-rw-r--r--src/print-cnfp.c (renamed from print-cnfp.c)0
-rw-r--r--src/print-dccp.c (renamed from print-dccp.c)0
-rw-r--r--src/print-decnet.c (renamed from print-decnet.c)0
-rw-r--r--src/print-dhcp6.c (renamed from print-dhcp6.c)0
-rw-r--r--src/print-domain.c (renamed from print-domain.c)0
-rw-r--r--src/print-dtp.c (renamed from print-dtp.c)0
-rw-r--r--src/print-dvmrp.c (renamed from print-dvmrp.c)0
-rw-r--r--src/print-eap.c (renamed from print-eap.c)0
-rw-r--r--src/print-egp.c (renamed from print-egp.c)0
-rw-r--r--src/print-eigrp.c (renamed from print-eigrp.c)0
-rw-r--r--src/print-enc.c (renamed from print-enc.c)0
-rw-r--r--src/print-esp.c (renamed from print-esp.c)0
-rw-r--r--src/print-ether.c (renamed from print-ether.c)0
-rw-r--r--src/print-fddi.c (renamed from print-fddi.c)0
-rw-r--r--src/print-forces.c (renamed from print-forces.c)0
-rw-r--r--src/print-fr.c (renamed from print-fr.c)0
-rw-r--r--src/print-frag6.c (renamed from print-frag6.c)0
-rw-r--r--src/print-ftp.c (renamed from print-ftp.c)0
-rw-r--r--src/print-geneve.c (renamed from print-geneve.c)0
-rw-r--r--src/print-geonet.c (renamed from print-geonet.c)0
-rw-r--r--src/print-gre.c (renamed from print-gre.c)0
-rw-r--r--src/print-hncp.c (renamed from print-hncp.c)0
-rw-r--r--src/print-hsrp.c (renamed from print-hsrp.c)0
-rw-r--r--src/print-http.c (renamed from print-http.c)0
-rw-r--r--src/print-icmp.c (renamed from print-icmp.c)0
-rw-r--r--src/print-icmp6.c (renamed from print-icmp6.c)0
-rw-r--r--src/print-igmp.c (renamed from print-igmp.c)0
-rw-r--r--src/print-igrp.c (renamed from print-igrp.c)0
-rw-r--r--src/print-ip.c (renamed from print-ip.c)0
-rw-r--r--src/print-ip6.c (renamed from print-ip6.c)0
-rw-r--r--src/print-ip6opts.c (renamed from print-ip6opts.c)0
-rw-r--r--src/print-ipcomp.c (renamed from print-ipcomp.c)0
-rw-r--r--src/print-ipfc.c (renamed from print-ipfc.c)0
-rw-r--r--src/print-ipnet.c (renamed from print-ipnet.c)0
-rw-r--r--src/print-ipx.c (renamed from print-ipx.c)0
-rw-r--r--src/print-isakmp.c (renamed from print-isakmp.c)0
-rw-r--r--src/print-isoclns.c (renamed from print-isoclns.c)0
-rw-r--r--src/print-juniper.c (renamed from print-juniper.c)0
-rw-r--r--src/print-krb.c (renamed from print-krb.c)0
-rw-r--r--src/print-l2tp.c (renamed from print-l2tp.c)0
-rw-r--r--src/print-lane.c (renamed from print-lane.c)0
-rw-r--r--src/print-ldp.c (renamed from print-ldp.c)0
-rw-r--r--src/print-lisp.c (renamed from print-lisp.c)0
-rw-r--r--src/print-llc.c (renamed from print-llc.c)0
-rw-r--r--src/print-lldp.c (renamed from print-lldp.c)0
-rw-r--r--src/print-lmp.c (renamed from print-lmp.c)0
-rw-r--r--src/print-loopback.c (renamed from print-loopback.c)0
-rw-r--r--src/print-lspping.c (renamed from print-lspping.c)0
-rw-r--r--src/print-lwapp.c (renamed from print-lwapp.c)0
-rw-r--r--src/print-lwres.c (renamed from print-lwres.c)0
-rw-r--r--src/print-m3ua.c (renamed from print-m3ua.c)0
-rw-r--r--src/print-medsa.c (renamed from print-medsa.c)0
-rw-r--r--src/print-mobile.c (renamed from print-mobile.c)0
-rw-r--r--src/print-mobility.c (renamed from print-mobility.c)0
-rw-r--r--src/print-mpcp.c (renamed from print-mpcp.c)0
-rw-r--r--src/print-mpls.c (renamed from print-mpls.c)0
-rw-r--r--src/print-mptcp.c (renamed from print-mptcp.c)0
-rw-r--r--src/print-msdp.c (renamed from print-msdp.c)0
-rw-r--r--src/print-msnlb.c (renamed from print-msnlb.c)0
-rw-r--r--src/print-nflog.c (renamed from print-nflog.c)0
-rw-r--r--src/print-nfs.c (renamed from print-nfs.c)0
-rw-r--r--src/print-nsh.c (renamed from print-nsh.c)0
-rw-r--r--src/print-ntp.c (renamed from print-ntp.c)0
-rw-r--r--src/print-null.c (renamed from print-null.c)0
-rw-r--r--src/print-olsr.c (renamed from print-olsr.c)0
-rw-r--r--src/print-openflow-1.0.c (renamed from print-openflow-1.0.c)0
-rw-r--r--src/print-openflow.c (renamed from print-openflow.c)0
-rw-r--r--src/print-ospf.c (renamed from print-ospf.c)0
-rw-r--r--src/print-ospf6.c (renamed from print-ospf6.c)0
-rw-r--r--src/print-otv.c (renamed from print-otv.c)0
-rw-r--r--src/print-pflog.c (renamed from print-pflog.c)0
-rw-r--r--src/print-pgm.c (renamed from print-pgm.c)0
-rw-r--r--src/print-pim.c (renamed from print-pim.c)0
-rw-r--r--src/print-pktap.c (renamed from print-pktap.c)0
-rw-r--r--src/print-ppi.c (renamed from print-ppi.c)0
-rw-r--r--src/print-ppp.c (renamed from print-ppp.c)0
-rw-r--r--src/print-pppoe.c (renamed from print-pppoe.c)0
-rw-r--r--src/print-pptp.c (renamed from print-pptp.c)0
-rw-r--r--src/print-radius.c (renamed from print-radius.c)0
-rw-r--r--src/print-raw.c (renamed from print-raw.c)0
-rw-r--r--src/print-resp.c (renamed from print-resp.c)0
-rw-r--r--src/print-rip.c (renamed from print-rip.c)0
-rw-r--r--src/print-ripng.c (renamed from print-ripng.c)0
-rw-r--r--src/print-rpki-rtr.c (renamed from print-rpki-rtr.c)0
-rw-r--r--src/print-rrcp.c (renamed from print-rrcp.c)0
-rw-r--r--src/print-rsvp.c (renamed from print-rsvp.c)0
-rw-r--r--src/print-rt6.c (renamed from print-rt6.c)0
-rw-r--r--src/print-rtsp.c (renamed from print-rtsp.c)0
-rw-r--r--src/print-rx.c (renamed from print-rx.c)0
-rw-r--r--src/print-sctp.c (renamed from print-sctp.c)0
-rw-r--r--src/print-sflow.c (renamed from print-sflow.c)0
-rw-r--r--src/print-sip.c (renamed from print-sip.c)0
-rw-r--r--src/print-sl.c (renamed from print-sl.c)0
-rw-r--r--src/print-sll.c (renamed from print-sll.c)0
-rw-r--r--src/print-slow.c (renamed from print-slow.c)0
-rw-r--r--src/print-smb.c (renamed from print-smb.c)0
-rw-r--r--src/print-smtp.c (renamed from print-smtp.c)0
-rw-r--r--src/print-snmp.c (renamed from print-snmp.c)0
-rw-r--r--src/print-stp.c (renamed from print-stp.c)0
-rw-r--r--src/print-sunatm.c (renamed from print-sunatm.c)0
-rw-r--r--src/print-sunrpc.c (renamed from print-sunrpc.c)0
-rw-r--r--src/print-symantec.c (renamed from print-symantec.c)0
-rw-r--r--src/print-syslog.c (renamed from print-syslog.c)0
-rw-r--r--src/print-tcp.c (renamed from print-tcp.c)0
-rw-r--r--src/print-telnet.c (renamed from print-telnet.c)0
-rw-r--r--src/print-tftp.c (renamed from print-tftp.c)0
-rw-r--r--src/print-timed.c (renamed from print-timed.c)0
-rw-r--r--src/print-tipc.c (renamed from print-tipc.c)0
-rw-r--r--src/print-token.c (renamed from print-token.c)0
-rw-r--r--src/print-udld.c (renamed from print-udld.c)0
-rw-r--r--src/print-udp.c (renamed from print-udp.c)0
-rw-r--r--src/print-usb.c (renamed from print-usb.c)0
-rw-r--r--src/print-vjc.c (renamed from print-vjc.c)0
-rw-r--r--src/print-vqp.c (renamed from print-vqp.c)0
-rw-r--r--src/print-vrrp.c (renamed from print-vrrp.c)0
-rw-r--r--src/print-vtp.c (renamed from print-vtp.c)0
-rw-r--r--src/print-vxlan-gpe.c (renamed from print-vxlan-gpe.c)0
-rw-r--r--src/print-vxlan.c (renamed from print-vxlan.c)0
-rw-r--r--src/print-wb.c (renamed from print-wb.c)0
-rw-r--r--src/print-zephyr.c (renamed from print-zephyr.c)0
-rw-r--r--src/print-zeromq.c (renamed from print-zeromq.c)0
-rw-r--r--src/print.c (renamed from print.c)0
-rw-r--r--src/print.h (renamed from print.h)0
-rw-r--r--src/rpc_auth.h (renamed from rpc_auth.h)0
-rw-r--r--src/rpc_msg.h (renamed from rpc_msg.h)0
-rw-r--r--src/rpl.h (renamed from rpl.h)0
-rw-r--r--src/send-ack.awk (renamed from send-ack.awk)0
-rw-r--r--src/setsignal.c (renamed from setsignal.c)0
-rw-r--r--src/setsignal.h (renamed from setsignal.h)0
-rw-r--r--src/signature.c (renamed from signature.c)0
-rw-r--r--src/signature.h (renamed from signature.h)0
-rw-r--r--src/slcompress.h (renamed from slcompress.h)0
-rw-r--r--src/smb.h (renamed from smb.h)0
-rw-r--r--src/smbutil.c (renamed from smbutil.c)0
-rw-r--r--src/stime.awk (renamed from stime.awk)0
-rw-r--r--src/stream_base.h (renamed from stream_base.h)0
-rw-r--r--src/strtoaddr.c (renamed from strtoaddr.c)0
-rw-r--r--src/strtoaddr.h (renamed from strtoaddr.h)0
-rw-r--r--src/tcp.h (renamed from tcp.h)0
-rw-r--r--src/tcpdump.1.in (renamed from tcpdump.1.in)0
-rw-r--r--src/tcpdump.c (renamed from tcpdump.c)100
-rw-r--r--src/tests/02-sunrise-sunset-esp.pcap (renamed from tests/02-sunrise-sunset-esp.pcap)bin1352 -> 1352 bytes
-rw-r--r--src/tests/08-sunrise-sunset-aes.pcap (renamed from tests/08-sunrise-sunset-aes.pcap)bin1480 -> 1480 bytes
-rw-r--r--src/tests/08-sunrise-sunset-esp2.pcap (renamed from tests/08-sunrise-sunset-esp2.pcap)bin1800 -> 1800 bytes
-rw-r--r--src/tests/3560_CDP.pcap (renamed from tests/3560_CDP.pcap)bin1272 -> 1272 bytes
-rw-r--r--src/tests/802.1D_spanning_tree.pcap (renamed from tests/802.1D_spanning_tree.pcap)bin1088 -> 1088 bytes
-rw-r--r--src/tests/802.1w_rapid_STP.pcap (renamed from tests/802.1w_rapid_STP.pcap)bin2304 -> 2304 bytes
-rw-r--r--src/tests/AoE_Linux.pcap (renamed from tests/AoE_Linux.pcap)bin95288 -> 95288 bytes
-rw-r--r--src/tests/DECnet_Phone.pcap (renamed from tests/DECnet_Phone.pcap)bin7678 -> 7678 bytes
-rw-r--r--src/tests/DTP.pcap (renamed from tests/DTP.pcap)bin934 -> 934 bytes
-rw-r--r--src/tests/EIGRP_adjacency.pcap (renamed from tests/EIGRP_adjacency.pcap)bin5195 -> 5195 bytes
-rw-r--r--src/tests/EIGRP_goodbye.pcap (renamed from tests/EIGRP_goodbye.pcap)bin1374 -> 1374 bytes
-rw-r--r--src/tests/EIGRP_subnet_down.pcap (renamed from tests/EIGRP_subnet_down.pcap)bin1884 -> 1884 bytes
-rw-r--r--src/tests/EIGRP_subnet_up.pcap (renamed from tests/EIGRP_subnet_up.pcap)bin1356 -> 1356 bytes
-rw-r--r--src/tests/HDLC.pcap (renamed from tests/HDLC.pcap)bin3532 -> 3532 bytes
-rw-r--r--src/tests/HSRP_coup.pcap (renamed from tests/HSRP_coup.pcap)bin3984 -> 3984 bytes
-rw-r--r--src/tests/HSRP_election.pcap (renamed from tests/HSRP_election.pcap)bin3832 -> 3832 bytes
-rw-r--r--src/tests/HSRP_failover.pcap (renamed from tests/HSRP_failover.pcap)bin3056 -> 3056 bytes
-rw-r--r--src/tests/IGMP_V1.pcap (renamed from tests/IGMP_V1.pcap)bin2062 -> 2062 bytes
-rw-r--r--src/tests/IGMP_V2.pcap (renamed from tests/IGMP_V2.pcap)bin1364 -> 1364 bytes
-rw-r--r--src/tests/ISAKMP_sa_setup.pcap (renamed from tests/ISAKMP_sa_setup.pcap)bin2030 -> 2030 bytes
-rw-r--r--src/tests/ISIS_external_lsp.pcap (renamed from tests/ISIS_external_lsp.pcap)bin17371 -> 17371 bytes
-rw-r--r--src/tests/ISIS_level1_adjacency.pcap (renamed from tests/ISIS_level1_adjacency.pcap)bin28022 -> 28022 bytes
-rw-r--r--src/tests/ISIS_level2_adjacency.pcap (renamed from tests/ISIS_level2_adjacency.pcap)bin53091 -> 53091 bytes
-rw-r--r--src/tests/ISIS_p2p_adjacency.pcap (renamed from tests/ISIS_p2p_adjacency.pcap)bin22260 -> 22260 bytes
-rw-r--r--src/tests/LACP.pcap (renamed from tests/LACP.pcap)bin2824 -> 2824 bytes
-rw-r--r--src/tests/LLDP_and_CDP.pcap (renamed from tests/LLDP_and_CDP.pcap)bin4108 -> 4108 bytes
-rw-r--r--src/tests/MSTP_Intra-Region_BPDUs.pcap (renamed from tests/MSTP_Intra-Region_BPDUs.pcap)bin1714 -> 1714 bytes
-rw-r--r--src/tests/OLSRv1_HNA_sgw_1.out (renamed from tests/OLSRv1_HNA_sgw_1.out)0
-rw-r--r--src/tests/OLSRv1_HNA_sgw_1.pcap (renamed from tests/OLSRv1_HNA_sgw_1.pcap)bin158 -> 158 bytes
-rw-r--r--src/tests/OSPFv3_NBMA_adjacencies.pcap (renamed from tests/OSPFv3_NBMA_adjacencies.pcap)bin13188 -> 13188 bytes
-rw-r--r--src/tests/OSPFv3_broadcast_adjacency.pcap (renamed from tests/OSPFv3_broadcast_adjacency.pcap)bin5536 -> 5536 bytes
-rw-r--r--src/tests/OSPFv3_multipoint_adjacencies.pcap (renamed from tests/OSPFv3_multipoint_adjacencies.pcap)bin11816 -> 11816 bytes
-rw-r--r--src/tests/OSPFv3_with_AH.pcap (renamed from tests/OSPFv3_with_AH.pcap)bin10974 -> 10974 bytes
-rw-r--r--src/tests/PIM-DM_pruning.pcap (renamed from tests/PIM-DM_pruning.pcap)bin10436 -> 10436 bytes
-rw-r--r--src/tests/PIM-SM_join_prune.pcap (renamed from tests/PIM-SM_join_prune.pcap)bin3940 -> 3940 bytes
-rw-r--r--src/tests/PIM_register_register-stop.pcap (renamed from tests/PIM_register_register-stop.pcap)bin258 -> 258 bytes
-rw-r--r--src/tests/PIMv2_bootstrap.pcap (renamed from tests/PIMv2_bootstrap.pcap)bin712 -> 712 bytes
-rw-r--r--src/tests/PIMv2_hellos.pcap (renamed from tests/PIMv2_hellos.pcap)bin528 -> 528 bytes
-rw-r--r--src/tests/QinQpacket.out (renamed from tests/QinQpacket.out)0
-rw-r--r--src/tests/QinQpacket.pcap (renamed from tests/QinQpacket.pcap)bin78264 -> 78264 bytes
-rw-r--r--src/tests/QinQpacketv.out (renamed from tests/QinQpacketv.out)0
-rw-r--r--src/tests/RADIUS-RFC4675.pcap (renamed from tests/RADIUS-RFC4675.pcap)bin766 -> 766 bytes
-rw-r--r--src/tests/RADIUS-RFC5176.pcap (renamed from tests/RADIUS-RFC5176.pcap)bin600 -> 600 bytes
-rw-r--r--src/tests/RADIUS-port1700.pcap (renamed from tests/RADIUS-port1700.pcap)bin107 -> 107 bytes
-rw-r--r--src/tests/RADIUS.pcap (renamed from tests/RADIUS.pcap)bin775 -> 775 bytes
-rw-r--r--src/tests/TESTLIST (renamed from tests/TESTLIST)0
-rw-r--r--src/tests/TESTonce (renamed from tests/TESTonce)0
-rw-r--r--src/tests/TESTrun.sh (renamed from tests/TESTrun.sh)0
-rw-r--r--src/tests/UDLD.pcap (renamed from tests/UDLD.pcap)bin3426 -> 3426 bytes
-rw-r--r--src/tests/ahcp-vv.out (renamed from tests/ahcp-vv.out)0
-rw-r--r--src/tests/ahcp.pcap (renamed from tests/ahcp.pcap)bin1784 -> 1784 bytes
-rw-r--r--src/tests/aoe_1-v.out (renamed from tests/aoe_1-v.out)0
-rw-r--r--src/tests/aoe_1.out (renamed from tests/aoe_1.out)0
-rw-r--r--src/tests/babel.pcap (renamed from tests/babel.pcap)bin3320 -> 3320 bytes
-rw-r--r--src/tests/babel1.out (renamed from tests/babel1.out)0
-rw-r--r--src/tests/babel1v.out (renamed from tests/babel1v.out)0
-rw-r--r--src/tests/babel_auth.out (renamed from tests/babel_auth.out)0
-rw-r--r--src/tests/babel_auth.pcap (renamed from tests/babel_auth.pcap)bin530 -> 530 bytes
-rw-r--r--src/tests/babel_pad1.out (renamed from tests/babel_pad1.out)0
-rw-r--r--src/tests/babel_pad1.pcap (renamed from tests/babel_pad1.pcap)bin257 -> 257 bytes
-rw-r--r--src/tests/babel_rtt.out (renamed from tests/babel_rtt.out)0
-rw-r--r--src/tests/babel_rtt.pcap (renamed from tests/babel_rtt.pcap)bin902 -> 902 bytes
-rw-r--r--src/tests/bgp-aigp.out (renamed from tests/bgp-aigp.out)0
-rw-r--r--src/tests/bgp-aigp.pcap (renamed from tests/bgp-aigp.pcap)bin258 -> 258 bytes
-rw-r--r--src/tests/bgp-infinite-loop.pcap (renamed from tests/bgp-infinite-loop.pcap)bin554 -> 554 bytes
-rw-r--r--src/tests/bgp_infloop-v.out (renamed from tests/bgp_infloop-v.out)0
-rw-r--r--src/tests/bgp_vpn_attrset.out (renamed from tests/bgp_vpn_attrset.out)0
-rw-r--r--src/tests/bgp_vpn_attrset.pcap (renamed from tests/bgp_vpn_attrset.pcap)bin217 -> 217 bytes
-rw-r--r--src/tests/cdp-v.out (renamed from tests/cdp-v.out)0
-rw-r--r--src/tests/chdlc-slarp-short.pcap (renamed from tests/chdlc-slarp-short.pcap)bin58 -> 58 bytes
-rw-r--r--src/tests/chdlc-slarp.pcap (renamed from tests/chdlc-slarp.pcap)bin62 -> 62 bytes
-rw-r--r--src/tests/crypto.sh (renamed from tests/crypto.sh)0
-rw-r--r--src/tests/cve-2014-8767-OLSR.out (renamed from tests/cve-2014-8767-OLSR.out)0
-rw-r--r--src/tests/cve-2014-8767-OLSR.pcap (renamed from tests/cve-2014-8767-OLSR.pcap)bin115 -> 115 bytes
-rw-r--r--src/tests/cve-2014-8768-Geonet.out (renamed from tests/cve-2014-8768-Geonet.out)0
-rw-r--r--src/tests/cve-2014-8768-Geonet.pcap (renamed from tests/cve-2014-8768-Geonet.pcap)bin115 -> 115 bytes
-rw-r--r--src/tests/cve-2014-8769-AODV.out (renamed from tests/cve-2014-8769-AODV.out)0
-rw-r--r--src/tests/cve-2014-8769-AODV.pcap (renamed from tests/cve-2014-8769-AODV.pcap)bin115 -> 115 bytes
-rw-r--r--src/tests/cve2015-0261-crash.out (renamed from tests/cve2015-0261-crash.out)0
-rw-r--r--src/tests/cve2015-0261-crash.pcap (renamed from tests/cve2015-0261-crash.pcap)bin201 -> 201 bytes
-rw-r--r--src/tests/cve2015-0261-ipv6.out (renamed from tests/cve2015-0261-ipv6.out)0
-rw-r--r--src/tests/cve2015-0261-ipv6.pcap (renamed from tests/cve2015-0261-ipv6.pcap)bin682 -> 682 bytes
-rw-r--r--src/tests/dcb_ets.out (renamed from tests/dcb_ets.out)0
-rw-r--r--src/tests/dcb_ets.pcap (renamed from tests/dcb_ets.pcap)bin13279 -> 13279 bytes
-rw-r--r--src/tests/dcb_pfc.out (renamed from tests/dcb_pfc.out)0
-rw-r--r--src/tests/dcb_pfc.pcap (renamed from tests/dcb_pfc.pcap)bin850 -> 850 bytes
-rw-r--r--src/tests/dcb_qcn.out (renamed from tests/dcb_qcn.out)0
-rw-r--r--src/tests/dcb_qcn.pcap (renamed from tests/dcb_qcn.pcap)bin3730 -> 3730 bytes
-rw-r--r--src/tests/dccp_partial_csum_v4_longer.out (renamed from tests/dccp_partial_csum_v4_longer.out)0
-rw-r--r--src/tests/dccp_partial_csum_v4_longer.pcap (renamed from tests/dccp_partial_csum_v4_longer.pcap)bin1778 -> 1778 bytes
-rw-r--r--src/tests/dccp_partial_csum_v4_simple.out (renamed from tests/dccp_partial_csum_v4_simple.out)0
-rw-r--r--src/tests/dccp_partial_csum_v4_simple.pcap (renamed from tests/dccp_partial_csum_v4_simple.pcap)bin642 -> 642 bytes
-rw-r--r--src/tests/dccp_partial_csum_v6_longer.out (renamed from tests/dccp_partial_csum_v6_longer.out)0
-rw-r--r--src/tests/dccp_partial_csum_v6_longer.pcap (renamed from tests/dccp_partial_csum_v6_longer.pcap)bin1230 -> 1230 bytes
-rw-r--r--src/tests/dccp_partial_csum_v6_simple.out (renamed from tests/dccp_partial_csum_v6_simple.out)0
-rw-r--r--src/tests/dccp_partial_csum_v6_simple.pcap (renamed from tests/dccp_partial_csum_v6_simple.pcap)bin782 -> 782 bytes
-rw-r--r--src/tests/decnet.out (renamed from tests/decnet.out)0
-rw-r--r--src/tests/dhcp-rfc3004-v.out (renamed from tests/dhcp-rfc3004-v.out)0
-rw-r--r--src/tests/dhcp-rfc3004.pcap (renamed from tests/dhcp-rfc3004.pcap)bin1420 -> 1420 bytes
-rw-r--r--src/tests/dhcp-rfc5859-v.out (renamed from tests/dhcp-rfc5859-v.out)0
-rw-r--r--src/tests/dhcp-rfc5859.pcap (renamed from tests/dhcp-rfc5859.pcap)bin1456 -> 1456 bytes
-rw-r--r--src/tests/dhcpv6-AFTR-Name-RFC6334.out (renamed from tests/dhcpv6-AFTR-Name-RFC6334.out)0
-rw-r--r--src/tests/dhcpv6-AFTR-Name-RFC6334.pcap (renamed from tests/dhcpv6-AFTR-Name-RFC6334.pcap)bin747 -> 747 bytes
-rw-r--r--src/tests/dhcpv6-domain-list.out (renamed from tests/dhcpv6-domain-list.out)0
-rw-r--r--src/tests/dhcpv6-domain-list.pcap (renamed from tests/dhcpv6-domain-list.pcap)bin195 -> 195 bytes
-rw-r--r--src/tests/dhcpv6-ia-na.out (renamed from tests/dhcpv6-ia-na.out)0
-rw-r--r--src/tests/dhcpv6-ia-na.pcap (renamed from tests/dhcpv6-ia-na.pcap)bin638 -> 638 bytes
-rw-r--r--src/tests/dhcpv6-ia-pd.out (renamed from tests/dhcpv6-ia-pd.out)0
-rw-r--r--src/tests/dhcpv6-ia-pd.pcap (renamed from tests/dhcpv6-ia-pd.pcap)bin641 -> 641 bytes
-rw-r--r--src/tests/dhcpv6-ia-ta.out (renamed from tests/dhcpv6-ia-ta.out)0
-rw-r--r--src/tests/dhcpv6-ia-ta.pcap (renamed from tests/dhcpv6-ia-ta.pcap)bin606 -> 606 bytes
-rw-r--r--src/tests/dhcpv6-ntp-server.out (renamed from tests/dhcpv6-ntp-server.out)0
-rw-r--r--src/tests/dhcpv6-ntp-server.pcap (renamed from tests/dhcpv6-ntp-server.pcap)bin207 -> 207 bytes
-rw-r--r--src/tests/dhcpv6-sip-server-d.out (renamed from tests/dhcpv6-sip-server-d.out)0
-rw-r--r--src/tests/dhcpv6-sip-server-d.pcap (renamed from tests/dhcpv6-sip-server-d.pcap)bin208 -> 208 bytes
-rw-r--r--src/tests/dnssec-vv.out (renamed from tests/dnssec-vv.out)0
-rw-r--r--src/tests/dnssec.pcap (renamed from tests/dnssec.pcap)bin3936 -> 3936 bytes
-rw-r--r--src/tests/dtp-v.out (renamed from tests/dtp-v.out)0
-rw-r--r--src/tests/dvmrp.out (renamed from tests/dvmrp.out)0
-rw-r--r--src/tests/e1000g.out (renamed from tests/e1000g.out)0
-rw-r--r--src/tests/e1000g.pcap (renamed from tests/e1000g.pcap)bin2504 -> 2504 bytes
-rw-r--r--src/tests/eapon1.gdbinit (renamed from tests/eapon1.gdbinit)0
-rw-r--r--src/tests/eapon1.out (renamed from tests/eapon1.out)0
-rw-r--r--src/tests/eapon1.pcap (renamed from tests/eapon1.pcap)bin16412 -> 16412 bytes
-rw-r--r--src/tests/eigrp1-v.out (renamed from tests/eigrp1-v.out)0
-rw-r--r--src/tests/eigrp2-v.out (renamed from tests/eigrp2-v.out)0
-rw-r--r--src/tests/eigrp3-v.out (renamed from tests/eigrp3-v.out)0
-rw-r--r--src/tests/eigrp4-v.out (renamed from tests/eigrp4-v.out)0
-rw-r--r--src/tests/epgm_zmtp1.pcap (renamed from tests/epgm_zmtp1.pcap)bin4355 -> 4355 bytes
-rw-r--r--src/tests/epgm_zmtp1v.out (renamed from tests/epgm_zmtp1v.out)0
-rw-r--r--src/tests/epgmv.out (renamed from tests/epgmv.out)0
-rw-r--r--src/tests/esp-secrets.txt (renamed from tests/esp-secrets.txt)0
-rw-r--r--src/tests/esp0.out (renamed from tests/esp0.out)0
-rw-r--r--src/tests/esp1.gdbinit (renamed from tests/esp1.gdbinit)0
-rw-r--r--src/tests/esp1.out (renamed from tests/esp1.out)0
-rw-r--r--src/tests/esp2.gdbinit (renamed from tests/esp2.gdbinit)0
-rw-r--r--src/tests/esp2.out (renamed from tests/esp2.out)0
-rw-r--r--src/tests/esp3.gdbinit (renamed from tests/esp3.gdbinit)0
-rw-r--r--src/tests/esp4.gdbinit (renamed from tests/esp4.gdbinit)0
-rw-r--r--src/tests/esp5.gdbinit (renamed from tests/esp5.gdbinit)0
-rw-r--r--src/tests/esp5.out (renamed from tests/esp5.out)0
-rw-r--r--src/tests/espudp1.out (renamed from tests/espudp1.out)0
-rw-r--r--src/tests/espudp1.pcap (renamed from tests/espudp1.pcap)bin1416 -> 1416 bytes
-rw-r--r--src/tests/evb.out (renamed from tests/evb.out)0
-rw-r--r--src/tests/evb.pcap (renamed from tests/evb.pcap)bin2182 -> 2182 bytes
-rw-r--r--src/tests/failure-outputs.txt (renamed from tests/failure-outputs.txt)0
-rw-r--r--src/tests/forces1.out (renamed from tests/forces1.out)0
-rw-r--r--src/tests/forces1.pcap (renamed from tests/forces1.pcap)bin2488 -> 2488 bytes
-rw-r--r--src/tests/forces1vvv.out (renamed from tests/forces1vvv.out)0
-rw-r--r--src/tests/forces1vvvv.out (renamed from tests/forces1vvvv.out)0
-rw-r--r--src/tests/forces2.pcap (renamed from tests/forces2.pcap)bin9878 -> 9878 bytes
-rw-r--r--src/tests/forces2v.out (renamed from tests/forces2v.out)0
-rw-r--r--src/tests/forces2vv.out (renamed from tests/forces2vv.out)0
-rw-r--r--src/tests/forces2vvv.out (renamed from tests/forces2vvv.out)0
-rw-r--r--src/tests/forces3.pcap (renamed from tests/forces3.pcap)bin18176 -> 18176 bytes
-rw-r--r--src/tests/forces3vvv.out (renamed from tests/forces3vvv.out)0
-rw-r--r--src/tests/geneve-tcp.out (renamed from tests/geneve-tcp.out)0
-rw-r--r--src/tests/geneve-vni.out (renamed from tests/geneve-vni.out)0
-rw-r--r--src/tests/geneve-vv.out (renamed from tests/geneve-vv.out)0
-rw-r--r--src/tests/geneve.pcap (renamed from tests/geneve.pcap)bin9928 -> 9928 bytes
-rw-r--r--src/tests/geonet_and_calm_fast.out (renamed from tests/geonet_and_calm_fast.out)0
-rw-r--r--src/tests/geonet_and_calm_fast.pcap (renamed from tests/geonet_and_calm_fast.pcap)bin7794 -> 7794 bytes
-rw-r--r--src/tests/hdlc1.out (renamed from tests/hdlc1.out)0
-rw-r--r--src/tests/hdlc2.out (renamed from tests/hdlc2.out)0
-rw-r--r--src/tests/hdlc3.out (renamed from tests/hdlc3.out)0
-rw-r--r--src/tests/hdlc4.out (renamed from tests/hdlc4.out)0
-rw-r--r--src/tests/hdlc_slarp.pcap (renamed from tests/hdlc_slarp.pcap)bin612 -> 612 bytes
-rw-r--r--src/tests/hncp.out (renamed from tests/hncp.out)0
-rw-r--r--src/tests/hncp.pcap (renamed from tests/hncp.pcap)bin1566 -> 1566 bytes
-rw-r--r--src/tests/hsrp_1-v.out (renamed from tests/hsrp_1-v.out)0
-rw-r--r--src/tests/hsrp_1.out (renamed from tests/hsrp_1.out)0
-rw-r--r--src/tests/hsrp_2-v.out (renamed from tests/hsrp_2-v.out)0
-rw-r--r--src/tests/hsrp_3-v.out (renamed from tests/hsrp_3-v.out)0
-rw-r--r--src/tests/icmpv6.out (renamed from tests/icmpv6.out)0
-rw-r--r--src/tests/icmpv6.pcap (renamed from tests/icmpv6.pcap)bin754 -> 754 bytes
-rw-r--r--src/tests/icmpv6_opt24-v.out (renamed from tests/icmpv6_opt24-v.out)0
-rw-r--r--src/tests/icmpv6_opt24.pcap (renamed from tests/icmpv6_opt24.pcap)bin404 -> 404 bytes
-rw-r--r--src/tests/ieee802.11_exthdr.out (renamed from tests/ieee802.11_exthdr.out)0
-rw-r--r--src/tests/ieee802.11_exthdr.pcap (renamed from tests/ieee802.11_exthdr.pcap)bin4499 -> 4499 bytes
-rw-r--r--src/tests/ieee802.11_rx-stbc.out (renamed from tests/ieee802.11_rx-stbc.out)0
-rw-r--r--src/tests/ieee802.11_rx-stbc.pcap (renamed from tests/ieee802.11_rx-stbc.pcap)bin541 -> 541 bytes
-rw-r--r--src/tests/igmpv1.out (renamed from tests/igmpv1.out)0
-rw-r--r--src/tests/igmpv2.out (renamed from tests/igmpv2.out)0
-rw-r--r--src/tests/igmpv3-queries.out (renamed from tests/igmpv3-queries.out)0
-rw-r--r--src/tests/igmpv3-queries.pcap (renamed from tests/igmpv3-queries.pcap)bin420 -> 420 bytes
-rw-r--r--src/tests/ikev2four.out (renamed from tests/ikev2four.out)0
-rw-r--r--src/tests/ikev2four.pcap (renamed from tests/ikev2four.pcap)bin5856 -> 5856 bytes
-rw-r--r--src/tests/ikev2fourv.out (renamed from tests/ikev2fourv.out)0
-rw-r--r--src/tests/ikev2fourv4.out (renamed from tests/ikev2fourv4.out)0
-rw-r--r--src/tests/ikev2pI2-secrets.txt (renamed from tests/ikev2pI2-secrets.txt)0
-rw-r--r--src/tests/ikev2pI2.out (renamed from tests/ikev2pI2.out)0
-rw-r--r--src/tests/ikev2pI2.pcap (renamed from tests/ikev2pI2.pcap)bin912 -> 912 bytes
-rw-r--r--src/tests/ipv6-bad-version.out (renamed from tests/ipv6-bad-version.out)0
-rw-r--r--src/tests/ipv6-bad-version.pcap (renamed from tests/ipv6-bad-version.pcap)bin416 -> 416 bytes
-rw-r--r--src/tests/ipv6-routing-header.out (renamed from tests/ipv6-routing-header.out)0
-rw-r--r--src/tests/ipv6-routing-header.pcap (renamed from tests/ipv6-routing-header.pcap)bin464 -> 464 bytes
-rw-r--r--src/tests/isakmp-delete-segfault.pcap (renamed from tests/isakmp-delete-segfault.pcap)bin721 -> 721 bytes
-rw-r--r--src/tests/isakmp-identification-segfault.pcap (renamed from tests/isakmp-identification-segfault.pcap)bin356 -> 356 bytes
-rw-r--r--src/tests/isakmp-pointer-loop.pcap (renamed from tests/isakmp-pointer-loop.pcap)bin112 -> 112 bytes
-rw-r--r--src/tests/isakmp1.out (renamed from tests/isakmp1.out)0
-rw-r--r--src/tests/isakmp2.out (renamed from tests/isakmp2.out)0
-rw-r--r--src/tests/isakmp3.out (renamed from tests/isakmp3.out)0
-rw-r--r--src/tests/isakmp4.out (renamed from tests/isakmp4.out)0
-rw-r--r--src/tests/isakmp4500.pcap (renamed from tests/isakmp4500.pcap)bin6830 -> 6830 bytes
-rw-r--r--src/tests/isakmp5-v.out (renamed from tests/isakmp5-v.out)0
-rw-r--r--src/tests/isis-infinite-loop.pcap (renamed from tests/isis-infinite-loop.pcap)bin454 -> 454 bytes
-rw-r--r--src/tests/isis_1-v.out (renamed from tests/isis_1-v.out)0
-rw-r--r--src/tests/isis_1.out (renamed from tests/isis_1.out)0
-rw-r--r--src/tests/isis_2-v.out (renamed from tests/isis_2-v.out)0
-rw-r--r--src/tests/isis_3-v.out (renamed from tests/isis_3-v.out)0
-rw-r--r--src/tests/isis_4-v.out (renamed from tests/isis_4-v.out)0
-rw-r--r--src/tests/isis_infloop-v.out (renamed from tests/isis_infloop-v.out)0
-rw-r--r--src/tests/isis_poi.out (renamed from tests/isis_poi.out)0
-rw-r--r--src/tests/isis_poi.pcap (renamed from tests/isis_poi.pcap)bin122 -> 122 bytes
-rw-r--r--src/tests/isis_poi2.out (renamed from tests/isis_poi2.out)0
-rw-r--r--src/tests/isis_poi2.pcap (renamed from tests/isis_poi2.pcap)bin128 -> 128 bytes
-rw-r--r--src/tests/isup.out (renamed from tests/isup.out)0
-rw-r--r--src/tests/isup.pcap (renamed from tests/isup.pcap)bin704 -> 704 bytes
-rw-r--r--src/tests/isupvv.out (renamed from tests/isupvv.out)0
-rw-r--r--src/tests/kday1.out (renamed from tests/kday1.out)0
-rw-r--r--src/tests/kday1.pcap (renamed from tests/kday1.pcap)bin535 -> 535 bytes
-rw-r--r--src/tests/kday2.out (renamed from tests/kday2.out)0
-rw-r--r--src/tests/kday2.pcap (renamed from tests/kday2.pcap)bin900 -> 900 bytes
-rw-r--r--src/tests/kday3.out (renamed from tests/kday3.out)0
-rw-r--r--src/tests/kday3.pcap (renamed from tests/kday3.pcap)bin4049 -> 4049 bytes
-rw-r--r--src/tests/kday4.out (renamed from tests/kday4.out)0
-rw-r--r--src/tests/kday4.pcap (renamed from tests/kday4.pcap)bin2248 -> 2248 bytes
-rw-r--r--src/tests/kday5.out (renamed from tests/kday5.out)0
-rw-r--r--src/tests/kday5.pcap (renamed from tests/kday5.pcap)bin7225 -> 7225 bytes
-rw-r--r--src/tests/kday6.out (renamed from tests/kday6.out)0
-rw-r--r--src/tests/kday6.pcap (renamed from tests/kday6.pcap)bin4956 -> 4956 bytes
-rw-r--r--src/tests/kday7.out (renamed from tests/kday7.out)0
-rw-r--r--src/tests/kday7.pcap (renamed from tests/kday7.pcap)bin3955 -> 3955 bytes
-rw-r--r--src/tests/kday8.out (renamed from tests/kday8.out)0
-rw-r--r--src/tests/kday8.pcap (renamed from tests/kday8.pcap)bin900 -> 900 bytes
-rw-r--r--src/tests/lacp-ev.out (renamed from tests/lacp-ev.out)0
-rw-r--r--src/tests/ldp-infinite-loop.pcap (renamed from tests/ldp-infinite-loop.pcap)bin414 -> 414 bytes
-rw-r--r--src/tests/ldp_infloop.out (renamed from tests/ldp_infloop.out)0
-rw-r--r--src/tests/lisp_eid_notify.out (renamed from tests/lisp_eid_notify.out)0
-rw-r--r--src/tests/lisp_eid_notify.pcap (renamed from tests/lisp_eid_notify.pcap)bin776 -> 776 bytes
-rw-r--r--src/tests/lisp_eid_register.out (renamed from tests/lisp_eid_register.out)0
-rw-r--r--src/tests/lisp_eid_register.pcap (renamed from tests/lisp_eid_register.pcap)bin384 -> 384 bytes
-rw-r--r--src/tests/lisp_ipv6.out (renamed from tests/lisp_ipv6.out)0
-rw-r--r--src/tests/lisp_ipv6.pcap (renamed from tests/lisp_ipv6.pcap)bin396 -> 396 bytes
-rw-r--r--src/tests/lldp_cdp-ev.out (renamed from tests/lldp_cdp-ev.out)0
-rw-r--r--src/tests/lmp-v.out (renamed from tests/lmp-v.out)0
-rw-r--r--src/tests/lmp-v.sh (renamed from tests/lmp-v.sh)0
-rw-r--r--src/tests/lmp.out (renamed from tests/lmp.out)0
-rw-r--r--src/tests/lmp.pcap (renamed from tests/lmp.pcap)bin1732 -> 1732 bytes
-rw-r--r--src/tests/loopback.out (renamed from tests/loopback.out)0
-rw-r--r--src/tests/loopback.pcap (renamed from tests/loopback.pcap)bin592 -> 592 bytes
-rw-r--r--src/tests/lspping-fec-ldp-v.out (renamed from tests/lspping-fec-ldp-v.out)0
-rw-r--r--src/tests/lspping-fec-ldp-vv.out (renamed from tests/lspping-fec-ldp-vv.out)0
-rw-r--r--src/tests/lspping-fec-ldp.out (renamed from tests/lspping-fec-ldp.out)0
-rw-r--r--src/tests/lspping-fec-ldp.pcap (renamed from tests/lspping-fec-ldp.pcap)bin1190 -> 1190 bytes
-rw-r--r--src/tests/lspping-fec-rsvp-v.out (renamed from tests/lspping-fec-rsvp-v.out)0
-rw-r--r--src/tests/lspping-fec-rsvp-vv.out (renamed from tests/lspping-fec-rsvp-vv.out)0
-rw-r--r--src/tests/lspping-fec-rsvp.out (renamed from tests/lspping-fec-rsvp.out)0
-rw-r--r--src/tests/lspping-fec-rsvp.pcap (renamed from tests/lspping-fec-rsvp.pcap)bin984 -> 984 bytes
-rw-r--r--src/tests/medsa-e.out (renamed from tests/medsa-e.out)0
-rw-r--r--src/tests/medsa.out (renamed from tests/medsa.out)0
-rw-r--r--src/tests/medsa.pcap (renamed from tests/medsa.pcap)bin2568 -> 2568 bytes
-rw-r--r--src/tests/mpbgp-linklocal-nexthop.out (renamed from tests/mpbgp-linklocal-nexthop.out)0
-rw-r--r--src/tests/mpbgp-linklocal-nexthop.pcap (renamed from tests/mpbgp-linklocal-nexthop.pcap)bin196 -> 196 bytes
-rw-r--r--src/tests/mpls-ldp-hello.out (renamed from tests/mpls-ldp-hello.out)0
-rw-r--r--src/tests/mpls-ldp-hello.pcap (renamed from tests/mpls-ldp-hello.pcap)bin114 -> 114 bytes
-rw-r--r--src/tests/mpls-traceroute-v.out (renamed from tests/mpls-traceroute-v.out)0
-rw-r--r--src/tests/mpls-traceroute.out (renamed from tests/mpls-traceroute.out)0
-rw-r--r--src/tests/mpls-traceroute.pcap (renamed from tests/mpls-traceroute.pcap)bin1956 -> 1956 bytes
-rw-r--r--src/tests/mptcp-fclose.out (renamed from tests/mptcp-fclose.out)0
-rw-r--r--src/tests/mptcp-fclose.pcap (renamed from tests/mptcp-fclose.pcap)bin1016 -> 1016 bytes
-rw-r--r--src/tests/mptcp.out (renamed from tests/mptcp.out)0
-rw-r--r--src/tests/mptcp.pcap (renamed from tests/mptcp.pcap)bin39394 -> 39394 bytes
-rw-r--r--src/tests/mrinfo_query.pcap (renamed from tests/mrinfo_query.pcap)bin182 -> 182 bytes
-rw-r--r--src/tests/msnlb.out (renamed from tests/msnlb.out)0
-rw-r--r--src/tests/msnlb.pcap (renamed from tests/msnlb.pcap)bin248 -> 248 bytes
-rw-r--r--src/tests/msnlb2.out (renamed from tests/msnlb2.out)0
-rw-r--r--src/tests/msnlb2.pcap (renamed from tests/msnlb2.pcap)bin188 -> 188 bytes
-rw-r--r--src/tests/mstp-v.out (renamed from tests/mstp-v.out)0
-rw-r--r--src/tests/mtrace.out (renamed from tests/mtrace.out)0
-rw-r--r--src/tests/mtrace.pcap (renamed from tests/mtrace.pcap)bin238 -> 238 bytes
-rw-r--r--src/tests/nflog-e.out (renamed from tests/nflog-e.out)0
-rw-r--r--src/tests/nflog-e.sh (renamed from tests/nflog-e.sh)0
-rw-r--r--src/tests/nflog.pcap (renamed from tests/nflog.pcap)bin840 -> 840 bytes
-rw-r--r--src/tests/nsh-over-vxlan-gpe-v.out (renamed from tests/nsh-over-vxlan-gpe-v.out)0
-rw-r--r--src/tests/nsh-over-vxlan-gpe-vv.out (renamed from tests/nsh-over-vxlan-gpe-vv.out)0
-rw-r--r--src/tests/nsh-over-vxlan-gpe-vvv.out (renamed from tests/nsh-over-vxlan-gpe-vvv.out)0
-rw-r--r--src/tests/nsh-over-vxlan-gpe.out (renamed from tests/nsh-over-vxlan-gpe.out)0
-rw-r--r--src/tests/nsh-over-vxlan-gpe.pcap (renamed from tests/nsh-over-vxlan-gpe.pcap)bin146 -> 146 bytes
-rw-r--r--src/tests/of10_7050q-v.out (renamed from tests/of10_7050q-v.out)0
-rw-r--r--src/tests/of10_7050q.pcap (renamed from tests/of10_7050q.pcap)bin588 -> 588 bytes
-rw-r--r--src/tests/of10_7050sx_bsn-vv.out (renamed from tests/of10_7050sx_bsn-vv.out)0
-rw-r--r--src/tests/of10_7050sx_bsn.pcap (renamed from tests/of10_7050sx_bsn.pcap)bin6680 -> 6680 bytes
-rw-r--r--src/tests/of10_p3295-vv.out (renamed from tests/of10_p3295-vv.out)0
-rw-r--r--src/tests/of10_p3295.pcap (renamed from tests/of10_p3295.pcap)bin20028 -> 20028 bytes
-rw-r--r--src/tests/of10_pf5240-vv.out (renamed from tests/of10_pf5240-vv.out)0
-rw-r--r--src/tests/of10_pf5240.pcap (renamed from tests/of10_pf5240.pcap)bin9196 -> 9196 bytes
-rw-r--r--src/tests/of10_s4810-vvvv.out (renamed from tests/of10_s4810-vvvv.out)0
-rw-r--r--src/tests/of10_s4810.pcap (renamed from tests/of10_s4810.pcap)bin31208 -> 31208 bytes
-rw-r--r--src/tests/ospf-gmpls.out (renamed from tests/ospf-gmpls.out)0
-rw-r--r--src/tests/ospf-gmpls.pcap (renamed from tests/ospf-gmpls.pcap)bin640 -> 640 bytes
-rw-r--r--src/tests/ospf3_ah-vv.out (renamed from tests/ospf3_ah-vv.out)0
-rw-r--r--src/tests/ospf3_auth-vv.out (renamed from tests/ospf3_auth-vv.out)0
-rw-r--r--src/tests/ospf3_auth.pcap (renamed from tests/ospf3_auth.pcap)bin260 -> 260 bytes
-rw-r--r--src/tests/ospf3_bc-vv.out (renamed from tests/ospf3_bc-vv.out)0
-rw-r--r--src/tests/ospf3_mp-vv.out (renamed from tests/ospf3_mp-vv.out)0
-rw-r--r--src/tests/ospf3_nbma-vv.out (renamed from tests/ospf3_nbma-vv.out)0
-rw-r--r--src/tests/pcap-invalid-version-1.out (renamed from tests/pcap-invalid-version-1.out)0
-rw-r--r--src/tests/pcap-invalid-version-1.pcap (renamed from tests/pcap-invalid-version-1.pcap)bin530 -> 530 bytes
-rw-r--r--src/tests/pcap-invalid-version-2.out (renamed from tests/pcap-invalid-version-2.out)0
-rw-r--r--src/tests/pcap-invalid-version-2.pcap (renamed from tests/pcap-invalid-version-2.pcap)bin530 -> 530 bytes
-rw-r--r--src/tests/pcap-ng-invalid-vers-1.out (renamed from tests/pcap-ng-invalid-vers-1.out)0
-rw-r--r--src/tests/pcap-ng-invalid-vers-1.pcap (renamed from tests/pcap-ng-invalid-vers-1.pcap)bin260 -> 260 bytes
-rw-r--r--src/tests/pcap-ng-invalid-vers-2.out (renamed from tests/pcap-ng-invalid-vers-2.out)0
-rw-r--r--src/tests/pcap-ng-invalid-vers-2.pcap (renamed from tests/pcap-ng-invalid-vers-2.pcap)bin260 -> 260 bytes
-rw-r--r--src/tests/pgm_zmtp1.pcap (renamed from tests/pgm_zmtp1.pcap)bin4149 -> 4149 bytes
-rw-r--r--src/tests/pgm_zmtp1v.out (renamed from tests/pgm_zmtp1v.out)0
-rw-r--r--src/tests/pgmv.out (renamed from tests/pgmv.out)0
-rw-r--r--src/tests/pimv2_bootstrap-v.out (renamed from tests/pimv2_bootstrap-v.out)0
-rw-r--r--src/tests/pimv2_dm-v.out (renamed from tests/pimv2_dm-v.out)0
-rw-r--r--src/tests/pimv2_hellos-v.out (renamed from tests/pimv2_hellos-v.out)0
-rw-r--r--src/tests/pimv2_register-v.out (renamed from tests/pimv2_register-v.out)0
-rw-r--r--src/tests/pimv2_sm-v.out (renamed from tests/pimv2_sm-v.out)0
-rw-r--r--src/tests/pppoe.out (renamed from tests/pppoe.out)0
-rw-r--r--src/tests/pppoe.pcap (renamed from tests/pppoe.pcap)bin78 -> 78 bytes
-rw-r--r--src/tests/pppoes.out (renamed from tests/pppoes.out)0
-rw-r--r--src/tests/pppoes.pcap (renamed from tests/pppoes.pcap)bin124 -> 124 bytes
-rw-r--r--src/tests/pppoes_id.out (renamed from tests/pppoes_id.out)0
-rw-r--r--src/tests/print-A.out (renamed from tests/print-A.out)0
-rw-r--r--src/tests/print-AA.out (renamed from tests/print-AA.out)0
-rw-r--r--src/tests/print-capX.out (renamed from tests/print-capX.out)0
-rw-r--r--src/tests/print-capXX.out (renamed from tests/print-capXX.out)0
-rw-r--r--src/tests/print-flags.pcap (renamed from tests/print-flags.pcap)bin6621 -> 6621 bytes
-rw-r--r--src/tests/print-x.out (renamed from tests/print-x.out)0
-rw-r--r--src/tests/print-xx.out (renamed from tests/print-xx.out)0
-rw-r--r--src/tests/radius-port1700-v.out (renamed from tests/radius-port1700-v.out)0
-rw-r--r--src/tests/radius-rfc4675-v.out (renamed from tests/radius-rfc4675-v.out)0
-rw-r--r--src/tests/radius-rfc5176-v.out (renamed from tests/radius-rfc5176-v.out)0
-rw-r--r--src/tests/radius-v.out (renamed from tests/radius-v.out)0
-rw-r--r--src/tests/resp_1.out (renamed from tests/resp_1.out)0
-rw-r--r--src/tests/resp_1_benchmark.pcap (renamed from tests/resp_1_benchmark.pcap)bin26858 -> 26858 bytes
-rw-r--r--src/tests/resp_2.out (renamed from tests/resp_2.out)0
-rw-r--r--src/tests/resp_2_inline.pcap (renamed from tests/resp_2_inline.pcap)bin2671 -> 2671 bytes
-rw-r--r--src/tests/resp_3.out (renamed from tests/resp_3.out)0
-rw-r--r--src/tests/resp_3_malicious.pcap (renamed from tests/resp_3_malicious.pcap)bin14724 -> 14724 bytes
-rw-r--r--src/tests/ripv1v2.out (renamed from tests/ripv1v2.out)0
-rw-r--r--src/tests/ripv1v2.pcap (renamed from tests/ripv1v2.pcap)bin352 -> 352 bytes
-rw-r--r--src/tests/ripv2_auth.out (renamed from tests/ripv2_auth.out)0
-rw-r--r--src/tests/ripv2_auth.pcap (renamed from tests/ripv2_auth.pcap)bin1648 -> 1648 bytes
-rw-r--r--src/tests/rpl-14-dao.pcap (renamed from tests/rpl-14-dao.pcap)bin118 -> 118 bytes
-rw-r--r--src/tests/rpl-14-daovvv.out (renamed from tests/rpl-14-daovvv.out)0
-rw-r--r--src/tests/rpl-19-pickdag.out (renamed from tests/rpl-19-pickdag.out)0
-rw-r--r--src/tests/rpl-19-pickdag.pcap (renamed from tests/rpl-19-pickdag.pcap)bin150 -> 150 bytes
-rw-r--r--src/tests/rpl-19-pickdagvvv.out (renamed from tests/rpl-19-pickdagvvv.out)0
-rw-r--r--src/tests/rpl-26-senddaoack.pcap (renamed from tests/rpl-26-senddaoack.pcap)bin118 -> 118 bytes
-rw-r--r--src/tests/rpl-26-senddaovv.out (renamed from tests/rpl-26-senddaovv.out)0
-rw-r--r--src/tests/rpvst-v.out (renamed from tests/rpvst-v.out)0
-rw-r--r--src/tests/rpvstp-trunk-native-vid5.pcap (renamed from tests/rpvstp-trunk-native-vid5.pcap)bin1811 -> 1811 bytes
-rw-r--r--src/tests/rstp-v.out (renamed from tests/rstp-v.out)0
-rw-r--r--src/tests/rsvp-infinite-loop.pcap (renamed from tests/rsvp-infinite-loop.pcap)bin384 -> 384 bytes
-rw-r--r--src/tests/rsvp_infloop-v.out (renamed from tests/rsvp_infloop-v.out)0
-rw-r--r--src/tests/sflow_multiple_counter_30_pdus-nv.out (renamed from tests/sflow_multiple_counter_30_pdus-nv.out)0
-rw-r--r--src/tests/sflow_multiple_counter_30_pdus.out (renamed from tests/sflow_multiple_counter_30_pdus.out)0
-rw-r--r--src/tests/sflow_multiple_counter_30_pdus.pcap (renamed from tests/sflow_multiple_counter_30_pdus.pcap)bin29308 -> 29308 bytes
-rw-r--r--src/tests/spb.out (renamed from tests/spb.out)0
-rw-r--r--src/tests/spb.pcap (renamed from tests/spb.pcap)bin75249 -> 75249 bytes
-rw-r--r--src/tests/spb_bpduv4.out (renamed from tests/spb_bpduv4.out)0
-rw-r--r--src/tests/spb_bpduv4.pcap (renamed from tests/spb_bpduv4.pcap)bin5974 -> 5974 bytes
-rw-r--r--src/tests/stp-v.out (renamed from tests/stp-v.out)0
-rw-r--r--src/tests/syslog-v.out (renamed from tests/syslog-v.out)0
-rw-r--r--src/tests/syslog_udp.pcap (renamed from tests/syslog_udp.pcap)bin515 -> 515 bytes
-rw-r--r--src/tests/tfo-5c1fa7f9ae91.pcap (renamed from tests/tfo-5c1fa7f9ae91.pcap)bin1084 -> 1084 bytes
-rw-r--r--src/tests/tfo.out (renamed from tests/tfo.out)0
-rw-r--r--src/tests/udld-v.out (renamed from tests/udld-v.out)0
-rw-r--r--src/tests/unaligned-nfs-1.out (renamed from tests/unaligned-nfs-1.out)0
-rw-r--r--src/tests/unaligned-nfs-1.pcap (renamed from tests/unaligned-nfs-1.pcap)bin222 -> 222 bytes
-rw-r--r--src/tests/vrrp-v.out (renamed from tests/vrrp-v.out)0
-rw-r--r--src/tests/vrrp.out (renamed from tests/vrrp.out)0
-rw-r--r--src/tests/vrrp.pcap (renamed from tests/vrrp.pcap)bin16344 -> 16344 bytes
-rw-r--r--src/tests/vxlan.out (renamed from tests/vxlan.out)0
-rw-r--r--src/tests/vxlan.pcap (renamed from tests/vxlan.pcap)bin1552 -> 1552 bytes
-rw-r--r--src/tests/zmtp1.out (renamed from tests/zmtp1.out)0
-rw-r--r--src/tests/zmtp1.pcap (renamed from tests/zmtp1.pcap)bin2119 -> 2119 bytes
-rw-r--r--src/timeval-operations.h (renamed from timeval-operations.h)0
-rw-r--r--src/udp.h (renamed from udp.h)0
-rw-r--r--src/util-print.c (renamed from util-print.c)0
-rw-r--r--src/util.c (renamed from util.c)0
-rw-r--r--src/vfprintf.c (renamed from vfprintf.c)0
-rw-r--r--src/win32/prj/GNUmakefile (renamed from win32/prj/GNUmakefile)0
-rw-r--r--src/win32/prj/WinDump.dsp (renamed from win32/prj/WinDump.dsp)0
-rw-r--r--src/win32/prj/WinDump.dsw (renamed from win32/prj/WinDump.dsw)0
657 files changed, 1890 insertions, 25 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..a223255
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+.vscode/
+build/
+cmake-build-*
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..8774886
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,144 @@
+image: "git.mesalab.cn:7443/mesa_platform/build-env:master"
+variables:
+ GIT_STRATEGY: "clone"
+ BUILD_PADDING_PREFIX: /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX/
+ INSTALL_PREFIX: "/opt/MESA/"
+
+stages:
+- build
+
+.build_by_travis:
+ before_script:
+ - mkdir -p $BUILD_PADDING_PREFIX/$CI_PROJECT_NAMESPACE/
+ - ln -s $CI_PROJECT_DIR $BUILD_PADDING_PREFIX/$CI_PROJECT_PATH
+ - cd $BUILD_PADDING_PREFIX/$CI_PROJECT_PATH
+ - chmod +x ./ci/travis.sh
+ script:
+ - yum makecache fast
+ - ./ci/travis.sh
+ - cd build
+ tags:
+ - share
+
+branch_build_debug:
+ stage: build
+ extends: .build_by_travis
+ variables:
+ BUILD_TYPE: Debug
+ except:
+ - /^dev*.*$/i
+ - /^rel*.*$/i
+ - /^master.*$/i
+ - tags
+
+branch_build_release:
+ stage: build
+ variables:
+ BUILD_TYPE: RelWithDebInfo
+ extends: .build_by_travis
+ except:
+ - /^dev*.*$/i
+ - /^rel*.*$/i
+ - /^master.*$/i
+ - tags
+
+develop_build_debug:
+ stage: build
+ extends: .build_by_travis
+ variables:
+ BUILD_TYPE: Debug
+ PACKAGE: 1
+ artifacts:
+ name: "tcpdump_mesa-$CI_COMMIT_REF_NAME-debug"
+ paths:
+ - build/*.rpm
+ only:
+ - /^dev*.*$/i
+ - /^rel*.*$/i
+ - /^master.*$/i
+
+develop_build_release:
+ stage: build
+ extends: .build_by_travis
+ variables:
+ BUILD_TYPE: RelWithDebInfo
+ PACKAGE: 1
+ artifacts:
+ name: "tcpdump_mesa-$CI_COMMIT_REF_NAME-release"
+ paths:
+ - build/*.rpm
+ only:
+ - /^dev*.*$/i
+ - /^rel*.*$/i
+ - /^master.*$/i
+
+
+release_build_release:
+ stage: build
+ variables:
+ BUILD_TYPE: RelWithDebInfo
+ PACKAGE: 1
+ UPLOAD: 1
+ PULP3_REPO_NAME: platform-stable-x86_64.el7
+ PULP3_DIST_NAME: platform-stable-x86_64.el7
+ extends: .build_by_travis
+ artifacts:
+ name: "tcpdump_mesa-$CI_COMMIT_REF_NAME-release"
+ paths:
+ - build/*.rpm
+ only:
+ - tags
+ except:
+ - /^v[0-9].*-testing$/i
+
+release_build_release_devel:
+ stage: build
+ variables:
+ BUILD_TYPE: RelWithDebInfo
+ ENABLE_DEVEL_SWITCH: "ON"
+ PACKAGE: 1
+ UPLOAD: 1
+ PULP3_REPO_NAME: platform-stable-x86_64.el7
+ PULP3_DIST_NAME: platform-stable-x86_64.el7
+ extends: .build_by_travis
+ artifacts:
+ name: "tcpdump_mesa-$CI_COMMIT_REF_NAME-release"
+ paths:
+ - build/*.rpm
+ only:
+ - tags
+ except:
+ - /^v[0-9].*-testing$/i
+
+testing_build_release:
+ stage: build
+ variables:
+ BUILD_TYPE: RelWithDebInfo
+ PACKAGE: 1
+ UPLOAD: 1
+ PULP3_REPO_NAME: platform-testing-x86_64.el7
+ PULP3_DIST_NAME: platform-testing-x86_64.el7
+ extends: .build_by_travis
+ artifacts:
+ name: "tcpdump_mesa-$CI_COMMIT_REF_NAME-release"
+ paths:
+ - build/*.rpm
+ only:
+ - /^v[0-9].*-testing$/i
+
+testing_build_release_devel:
+ stage: build
+ variables:
+ BUILD_TYPE: RelWithDebInfo
+ ENABLE_DEVEL_SWITCH: "ON"
+ PACKAGE: 1
+ UPLOAD: 1
+ PULP3_REPO_NAME: platform-testing-x86_64.el7
+ PULP3_DIST_NAME: platform-testing-x86_64.el7
+ extends: .build_by_travis
+ artifacts:
+ name: "tcpdump_mesa-$CI_COMMIT_REF_NAME-release"
+ paths:
+ - build/*.rpm
+ only:
+ - /^v[0-9].*-testing$/i \ No newline at end of file
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..b36c30d
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,22 @@
+cmake_minimum_required(VERSION 2.8)
+
+set(project_name tcpdump_mesa)
+
+project(${project_name})
+
+set(CMAKE_INSTALL_PREFIX /opt/MESA/)
+
+set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
+include(Version)
+
+set(CMAKE_MACOSX_RPATH 0)
+
+execute_process(COMMAND ../src/configure WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
+execute_process(COMMAND make CFLAGS+=-DGIT_VERSION=\\"${GIT_VERSION}\\" WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
+
+execute_process(COMMAND cp tcpdump tcpdump_mesa WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
+
+# install the minidump tools to target binary dir
+install(PROGRAMS ${CMAKE_BINARY_DIR}/tcpdump_mesa DESTINATION ./bin/ COMPONENT EXECUTABLE)
+
+include(Package) \ No newline at end of file
diff --git a/autorelease.sh b/autorelease.sh
new file mode 100644
index 0000000..0d85dd4
--- /dev/null
+++ b/autorelease.sh
@@ -0,0 +1,33 @@
+#!/bin/sh
+if [ $# -lt 7 ] ; then
+ echo "USAGE: ./autorelease.sh [API_V4_URL] [PROJECT_URL]
+ [PROJECT_ID] [TOKEN]
+ [COMMIT_TAG] [JOB] [PROJECT_NAME] [COMMIT_REF_PROTECTED] [COMMIT_SHORT_SHA]"
+exit 1;
+fi
+
+CI_API_V4_URL=$1
+CI_PROJECT_URL=$2
+CI_PROJECT_ID=$3
+CI_TOKEN=$4
+CI_COMMIT_TAG=$5
+ARTIFACTS_JOB=$6
+CI_PROJECT_NAME=$7
+CI_COMMIT_SHORT_SHA=$8
+
+res=`echo -e "curl --header \"PRIVATE-TOKEN: $CI_TOKEN\" $CI_API_V4_URL/projects/$CI_PROJECT_ID/releases/$CI_COMMIT_TAG -o /dev/null -s -w %{http_code}"| /bin/bash`
+
+if [[ $res == "200" ]]; then
+ eval $(echo -e "curl --request POST --header \"PRIVATE-TOKEN: $CI_TOKEN\" \
+ --data name=\"$CI_PROJECT_NAME-$CI_COMMIT_TAG-$CI_COMMIT_SHORT_SHA-artifacts.zip\" \
+ --data url=\"$CI_PROJECT_URL/-/jobs/artifacts/$CI_COMMIT_TAG/download?job=$ARTIFACTS_JOB\"\
+ $CI_API_V4_URL/projects/$CI_PROJECT_ID/releases/$CI_COMMIT_TAG/assets/links")
+else
+ eval $(echo -e "curl --header 'Content-Type: application/json' --header \
+ \"PRIVATE-TOKEN: $CI_TOKEN\" --data '{ \"name\": \"$CI_COMMIT_TAG\", \
+ \"tag_name\": \"$CI_COMMIT_TAG\", \"description\": \"auto_release\",\
+ \"assets\": { \"links\": [{ \"name\": \
+ \"$CI_PROJECT_NAME-$CI_COMMIT_TAG-$CI_COMMIT_SHORT_SHA-artifacts.zip\", \"url\": \
+ \"$CI_PROJECT_URL/-/jobs/artifacts/$CI_COMMIT_TAG/download?job=$ARTIFACTS_JOB\"\
+ }] } }' --request POST $CI_API_V4_URL/projects/$CI_PROJECT_ID/releases/")
+fi
diff --git a/autorevision.sh b/autorevision.sh
new file mode 100644
index 0000000..3baa179
--- /dev/null
+++ b/autorevision.sh
@@ -0,0 +1,1268 @@
+#!/bin/sh
+
+# Copyright (c) 2012 - 2016 dak180 and contributors. See
+# https://opensource.org/licenses/mit-license.php or the included
+# COPYING.md for licence terms.
+#
+# autorevision - extracts metadata about the head version from your
+# repository.
+
+# Usage message.
+arUsage() {
+ cat > "/dev/stderr" << EOF
+usage: autorevision {-t output-type | -s symbol} [-o cache-file [-f] ] [-V]
+ Options include:
+ -t output-type = specify output type
+ -s symbol = specify symbol output
+ -o cache-file = specify cache file location
+ -f = force the use of cache data
+ -U = check for untracked files in svn
+ -V = emit version and exit
+ -? = help message
+
+The following are valid output types:
+ clojure = clojure file
+ c = C/C++ file
+ h = Header for use with c/c++
+ hpp = Alternate C++ header strings with namespace
+ ini = INI file
+ java = Java file
+ javaprop = Java properties file
+ js = javascript file
+ json = JSON file
+ lua = Lua file
+ m4 = m4 file
+ matlab = matlab file
+ octave = octave file
+ php = PHP file
+ pl = Perl file
+ py = Python file
+ rpm = rpm file
+ scheme = scheme file
+ sh = Bash sytax
+ swift = Swift file
+ tex = (La)TeX file
+ xcode = Header useful for populating info.plist files
+ cmake = CMake file
+
+
+The following are valid symbols:
+ VCS_TYPE
+ VCS_BASENAME
+ VCS_UUID
+ VCS_NUM
+ VCS_DATE
+ VCS_BRANCH
+ VCS_TAG
+ VCS_TICK
+ VCS_EXTRA
+ VCS_FULL_HASH
+ VCS_SHORT_HASH
+ VCS_WC_MODIFIED
+ VCS_ACTION_STAMP
+EOF
+ exit 1
+}
+
+# Config
+ARVERSION="&&ARVERSION&&"
+TARGETFILE="/dev/stdout"
+while getopts ":t:o:s:VfU" OPTION; do
+ case "${OPTION}" in
+ t)
+ AFILETYPE="${OPTARG}"
+ ;;
+ o)
+ CACHEFILE="${OPTARG}"
+ ;;
+ f)
+ CACHEFORCE="1"
+ ;;
+ s)
+ VAROUT="${OPTARG}"
+ ;;
+ U)
+ UNTRACKEDFILES="1"
+ ;;
+ V)
+ echo "autorevision ${ARVERSION}"
+ exit 0
+ ;;
+ ?)
+ # If an unknown flag is used (or -?):
+ arUsage
+ ;;
+ esac
+done
+
+if [ ! -z "${VAROUT}" ] && [ ! -z "${AFILETYPE}" ]; then
+ # If both -s and -t are specified:
+ echo "error: Improper argument combination." 1>&2
+ exit 1
+elif [ -z "${VAROUT}" ] && [ -z "${AFILETYPE}" ]; then
+ # If neither -s or -t are specified:
+ arUsage
+elif [ -z "${CACHEFILE}" ] && [ "${CACHEFORCE}" = "1" ]; then
+ # If -f is specified without -o:
+ arUsage
+elif [ ! -f "${CACHEFILE}" ] && [ "${CACHEFORCE}" = "1" ]; then
+ # If we are forced to use the cache but it does not exist.
+ echo "error: Cache forced but no cache found." 1>&2
+ exit 1
+fi
+
+# Make sure that the path we are given is one we can source
+# (dash, we are looking at you).
+if [ ! -z "${CACHEFILE}" ] && ! echo "${CACHEFILE}" | grep -q '^\.*/'; then
+ CACHEFILE="./${CACHEFILE}"
+fi
+
+GENERATED_HEADER="Generated by autorevision - do not hand-hack!"
+
+# Functions to extract data from different repo types.
+# For git repos
+# shellcheck disable=SC2039,SC2164,SC2155
+gitRepo() {
+ local oldPath="${PWD}"
+
+ cd "$(git rev-parse --show-toplevel)"
+
+ VCS_TYPE="git"
+
+ VCS_BASENAME="$(basename "${PWD}")"
+
+ VCS_UUID="$(git rev-list --max-parents=0 --date-order --reverse HEAD 2>/dev/null | sed -n 1p)"
+ if [ -z "${VCS_UUID}" ]; then
+ VCS_UUID="$(git rev-list --topo-order HEAD | tail -n 1)"
+ fi
+
+ # Is the working copy clean?
+ test -z "$(git status --untracked-files=normal --porcelain)"
+ VCS_WC_MODIFIED="${?}"
+
+ # Enumeration of changesets
+ VCS_NUM="$(git rev-list --count HEAD 2>/dev/null)"
+ if [ -z "${VCS_NUM}" ]; then
+ echo "warning: Counting the number of revisions may be slower due to an outdated git version less than 1.7.2.3. If something breaks, please update it." 1>&2
+ VCS_NUM="$(git rev-list HEAD | wc -l)"
+ fi
+
+ # This may be a git-svn remote. If so, report the Subversion revision.
+ if [ -z "$(git config svn-remote.svn.url 2>/dev/null)" ]; then
+ # The full revision hash
+ VCS_FULL_HASH="$(git rev-parse HEAD)"
+
+ # The short hash
+ VCS_SHORT_HASH="$(echo "${VCS_FULL_HASH}" | cut -b 1-7)"
+ else
+ # The git-svn revision number
+ VCS_FULL_HASH="$(git svn find-rev HEAD)"
+ VCS_SHORT_HASH="${VCS_FULL_HASH}"
+ fi
+
+ # Current branch
+ VCS_BRANCH="$(git rev-parse --symbolic-full-name --verify "$(git name-rev --name-only --no-undefined HEAD 2>/dev/null)" 2>/dev/null | sed -e 's:refs/heads/::' | sed -e 's:refs/::')"
+
+ # Cache the description
+ local DESCRIPTION="$(git describe --long --tags 2>/dev/null)"
+
+ # Current or last tag ancestor (empty if no tags)
+ VCS_TAG="$(echo "${DESCRIPTION}" | sed -e "s:-g${VCS_SHORT_HASH}\$::" -e 's:-[0-9]*$::')"
+
+ # Distance to last tag or an alias of VCS_NUM if there is no tag
+ if [ ! -z "${DESCRIPTION}" ]; then
+ VCS_TICK="$(echo "${DESCRIPTION}" | sed -e "s:${VCS_TAG}-::" -e "s:-g${VCS_SHORT_HASH}::")"
+ else
+ VCS_TICK="${VCS_NUM}"
+ fi
+
+ # Date of the current commit
+ VCS_DATE="$(TZ=UTC git show -s --date=iso-strict-local --pretty=format:%ad | sed -e 's|+00:00|Z|')"
+ if [ -z "${VCS_DATE}" ]; then
+ echo "warning: Action stamps require git version 2.7+." 1>&2
+ VCS_DATE="$(git log -1 --pretty=format:%ci | sed -e 's: :T:' -e 's: ::' -e 's|+00:00|Z|')"
+ local ASdis="1"
+ fi
+
+ # Action Stamp
+ if [ -z "${ASdis}" ]; then
+ VCS_ACTION_STAMP="${VCS_DATE}!$(git show -s --pretty=format:%cE)"
+ else
+ VCS_ACTION_STAMP=""
+ fi
+
+ cd "${oldPath}"
+}
+
+# For hg repos
+# shellcheck disable=SC2039,SC2164
+hgRepo() {
+ local oldPath="${PWD}"
+
+ cd "$(hg root)"
+
+ VCS_TYPE="hg"
+
+ VCS_BASENAME="$(basename "${PWD}")"
+
+ VCS_UUID="$(hg log -r "0" -l 1 --template '{node}\n')"
+
+ # Is the working copy clean?
+ test -z "$(hg status -duram)"
+ VCS_WC_MODIFIED="${?}"
+
+ # Enumeration of changesets
+ VCS_NUM="$(hg id -n | tr -d '+')"
+
+ # The full revision hash
+ VCS_FULL_HASH="$(hg log -r "${VCS_NUM}" -l 1 --template '{node}\n')"
+
+ # The short hash
+ VCS_SHORT_HASH="$(hg id -i | tr -d '+')"
+
+ # Current bookmark (bookmarks are roughly equivalent to git's branches)
+ # or branch if no bookmark
+ VCS_BRANCH="$(hg id -B | cut -d ' ' -f 1)"
+ # Fall back to the branch if there are no bookmarks
+ if [ -z "${VCS_BRANCH}" ]; then
+ VCS_BRANCH="$(hg id -b)"
+ fi
+
+ # Current or last tag ancestor (excluding auto tags, empty if no tags)
+ VCS_TAG="$(hg log -r "${VCS_NUM}" -l 1 --template '{latesttag}\n' 2>/dev/null | sed -e 's:qtip::' -e 's:tip::' -e 's:qbase::' -e 's:qparent::' -e "s:$(hg --config 'extensions.color=' --config 'extensions.mq=' --color never qtop 2>/dev/null)::" | cut -d ' ' -f 1)"
+
+ # Distance to last tag or an alias of VCS_NUM if there is no tag
+ if [ ! -z "${VCS_TAG}" ]; then
+ VCS_TICK="$(hg log -r "${VCS_NUM}" -l 1 --template '{latesttagdistance}\n' 2>/dev/null)"
+ else
+ VCS_TICK="${VCS_NUM}"
+ fi
+
+ # Date of the current commit
+ VCS_DATE="$(hg log -r "${VCS_NUM}" -l 1 --template '{date|isodatesec}\n' 2>/dev/null | sed -e 's: :T:' -e 's: ::' -e 's|+00:00|Z|')"
+
+ # Action Stamp
+ VCS_ACTION_STAMP="$(TZ=UTC hg log -r "${VCS_NUM}" -l 1 --template '{date|localdate|rfc3339date}\n' 2>/dev/null | sed -e 's|+00:00|Z|')!$(hg log -r "${VCS_NUM}" -l 1 --template '{author|email}\n' 2>/dev/null)"
+
+ cd "${oldPath}"
+}
+
+# For bzr repos
+# shellcheck disable=SC2039,SC2164
+bzrRepo() {
+ local oldPath="${PWD}"
+
+ cd "$(bzr root)"
+
+ VCS_TYPE="bzr"
+
+ VCS_BASENAME="$(basename "${PWD}")"
+
+ # Currently unimplemented because more investigation is needed.
+ VCS_UUID=""
+
+ # Is the working copy clean?
+ bzr version-info --custom --template='{clean}\n' | grep -q '1'
+ VCS_WC_MODIFIED="${?}"
+
+ # Enumeration of changesets
+ VCS_NUM="$(bzr revno)"
+
+ # The full revision hash
+ VCS_FULL_HASH="$(bzr version-info --custom --template='{revision_id}\n')"
+
+ # The short hash
+ VCS_SHORT_HASH="${VCS_NUM}"
+
+ # Nick of the current branch
+ VCS_BRANCH="$(bzr nick)"
+
+ # Current or last tag ancestor (excluding auto tags, empty if no tags)
+ VCS_TAG="$(bzr tags --sort=time | sed '/?$/d' | tail -n1 | cut -d ' ' -f1)"
+
+ # Distance to last tag or an alias of VCS_NUM if there is no tag
+ if [ ! -z "${VCS_TAG}" ]; then
+ VCS_TICK="$(bzr log --line -r "tag:${VCS_TAG}.." | tail -n +2 | wc -l | sed -e 's:^ *::')"
+ else
+ VCS_TICK="${VCS_NUM}"
+ fi
+
+ # Date of the current commit
+ VCS_DATE="$(bzr version-info --custom --template='{date}\n' | sed -e 's: :T:' -e 's: ::')"
+
+ # Action Stamp
+ # Currently unimplemented because more investigation is needed.
+ VCS_ACTION_STAMP=""
+
+ cd "${oldPath}"
+}
+
+# For svn repos
+# shellcheck disable=SC2039,SC2164,SC2155
+svnRepo() {
+ local oldPath="${PWD}"
+
+ VCS_TYPE="svn"
+
+ case "${PWD}" in
+ /*trunk*|/*branches*|/*tags*)
+ local fn="${PWD}"
+ while [ "$(basename "${fn}")" != 'trunk' ] && [ "$(basename "${fn}")" != 'branches' ] && [ "$(basename "${fn}")" != 'tags' ] && [ "$(basename "${fn}")" != '/' ]; do
+ local fn="$(dirname "${fn}")"
+ done
+ local fn="$(dirname "${fn}")"
+ if [ "${fn}" = '/' ]; then
+ VCS_BASENAME="$(basename "${PWD}")"
+ else
+ VCS_BASENAME="$(basename "${fn}")"
+ fi
+ ;;
+ *) VCS_BASENAME="$(basename "${PWD}")" ;;
+ esac
+
+ VCS_UUID="$(svn info --xml | sed -n -e 's:<uuid>::' -e 's:</uuid>::p')"
+
+ # Cache svnversion output
+ local SVNVERSION="$(svnversion)"
+
+ # Is the working copy clean?
+ echo "${SVNVERSION}" | grep -q "M"
+ case "${?}" in
+ 0)
+ VCS_WC_MODIFIED="1"
+ ;;
+ 1)
+ if [ ! -z "${UNTRACKEDFILES}" ]; then
+ # `svnversion` does not detect untracked files and `svn status` is really slow, so only run it if we really have to.
+ if [ -z "$(svn status)" ]; then
+ VCS_WC_MODIFIED="0"
+ else
+ VCS_WC_MODIFIED="1"
+ fi
+ else
+ VCS_WC_MODIFIED="0"
+ fi
+ ;;
+ esac
+
+ # Enumeration of changesets
+ VCS_NUM="$(echo "${SVNVERSION}" | cut -d : -f 1 | sed -e 's:M::' -e 's:S::' -e 's:P::')"
+
+ # The full revision hash
+ VCS_FULL_HASH="${SVNVERSION}"
+
+ # The short hash
+ VCS_SHORT_HASH="${VCS_NUM}"
+
+ # Current branch
+ case "${PWD}" in
+ /*trunk*|/*branches*|/*tags*)
+ local lastbase=""
+ local fn="${PWD}"
+ while :
+ do
+ base="$(basename "${fn}")"
+ if [ "${base}" = 'trunk' ]; then
+ VCS_BRANCH='trunk'
+ break
+ elif [ "${base}" = 'branches' ] || [ "${base}" = 'tags' ]; then
+ VCS_BRANCH="${lastbase}"
+ break
+ elif [ "${base}" = '/' ]; then
+ VCS_BRANCH=""
+ break
+ fi
+ local lastbase="${base}"
+ local fn="$(dirname "${fn}")"
+ done
+ ;;
+ *) VCS_BRANCH="" ;;
+ esac
+
+ # Current or last tag ancestor (empty if no tags). But "current
+ # tag" can't be extracted reliably because Subversion doesn't
+ # have tags the way other VCSes do.
+ VCS_TAG=""
+ VCS_TICK=""
+
+ # Date of the current commit
+ VCS_DATE="$(svn info --xml | sed -n -e 's:<date>::' -e 's:</date>::p')"
+
+ # Action Stamp
+ VCS_ACTION_STAMP="${VCS_DATE}!$(svn log --xml -l 1 -r "${VCS_SHORT_HASH}" | sed -n -e 's:<author>::' -e 's:</author>::p')"
+
+ cd "${oldPath}"
+}
+
+
+# Functions to output data in different formats.
+# For bash output
+shOutput() {
+ cat > "${TARGETFILE}" << EOF
+# ${GENERATED_HEADER}
+
+VCS_TYPE="${VCS_TYPE}"
+VCS_BASENAME="${VCS_BASENAME}"
+VCS_UUID="${VCS_UUID}"
+VCS_NUM="${VCS_NUM}"
+VCS_DATE="${VCS_DATE}"
+VCS_BRANCH="${VCS_BRANCH}"
+VCS_TAG="${VCS_TAG}"
+VCS_TICK="${VCS_TICK}"
+VCS_EXTRA="${VCS_EXTRA}"
+
+VCS_ACTION_STAMP="${VCS_ACTION_STAMP}"
+VCS_FULL_HASH="${VCS_FULL_HASH}"
+VCS_SHORT_HASH="${VCS_SHORT_HASH}"
+
+VCS_WC_MODIFIED="${VCS_WC_MODIFIED}"
+
+# end
+EOF
+}
+
+# For source C output
+cOutput() {
+ cat > "${TARGETFILE}" << EOF
+/* ${GENERATED_HEADER} */
+
+const char *VCS_TYPE = "${VCS_TYPE}";
+const char *VCS_BASENAME = "${VCS_BASENAME}";
+const char *VCS_UUID = "${VCS_UUID}";
+const int VCS_NUM = ${VCS_NUM};
+const char *VCS_DATE = "${VCS_DATE}";
+const char *VCS_BRANCH = "${VCS_BRANCH}";
+const char *VCS_TAG = "${VCS_TAG}";
+const int VCS_TICK = ${VCS_TICK};
+const char *VCS_EXTRA = "${VCS_EXTRA}";
+
+const char *VCS_ACTION_STAMP = "${VCS_ACTION_STAMP}";
+const char *VCS_FULL_HASH = "${VCS_FULL_HASH}";
+const char *VCS_SHORT_HASH = "${VCS_SHORT_HASH}";
+
+const int VCS_WC_MODIFIED = ${VCS_WC_MODIFIED};
+
+/* end */
+EOF
+}
+
+# For header output
+hOutput() {
+ cat > "${TARGETFILE}" << EOF
+/* ${GENERATED_HEADER} */
+#ifndef AUTOREVISION_H
+#define AUTOREVISION_H
+
+#define VCS_TYPE "${VCS_TYPE}"
+#define VCS_BASENAME "${VCS_BASENAME}"
+#define VCS_UUID "${VCS_UUID}"
+#define VCS_NUM ${VCS_NUM}
+#define VCS_DATE "${VCS_DATE}"
+#define VCS_BRANCH "${VCS_BRANCH}"
+#define VCS_TAG "${VCS_TAG}"
+#define VCS_TICK ${VCS_TICK}
+#define VCS_EXTRA "${VCS_EXTRA}"
+
+#define VCS_ACTION_STAMP "${VCS_ACTION_STAMP}"
+#define VCS_FULL_HASH "${VCS_FULL_HASH}"
+#define VCS_SHORT_HASH "${VCS_SHORT_HASH}"
+
+#define VCS_WC_MODIFIED ${VCS_WC_MODIFIED}
+
+#endif
+
+/* end */
+EOF
+}
+
+# A header output for use with xcode to populate info.plist strings
+xcodeOutput() {
+ cat > "${TARGETFILE}" << EOF
+/* ${GENERATED_HEADER} */
+#ifndef AUTOREVISION_H
+#define AUTOREVISION_H
+
+#define VCS_TYPE ${VCS_TYPE}
+#define VCS_BASENAME ${VCS_BASENAME}
+#define VCS_UUID ${VCS_UUID}
+#define VCS_NUM ${VCS_NUM}
+#define VCS_DATE ${VCS_DATE}
+#define VCS_BRANCH ${VCS_BRANCH}
+#define VCS_TAG ${VCS_TAG}
+#define VCS_TICK ${VCS_TICK}
+#define VCS_EXTRA ${VCS_EXTRA}
+
+#define VCS_ACTION_STAMP ${VCS_ACTION_STAMP}
+#define VCS_FULL_HASH ${VCS_FULL_HASH}
+#define VCS_SHORT_HASH ${VCS_SHORT_HASH}
+
+#define VCS_WC_MODIFIED ${VCS_WC_MODIFIED}
+
+#endif
+
+/* end */
+EOF
+}
+
+# For Swift output
+swiftOutput() {
+ case "${VCS_WC_MODIFIED}" in
+ 0) VCS_WC_MODIFIED="false" ;;
+ 1) VCS_WC_MODIFIED="true" ;;
+ esac
+ # For values that may not exist depending on the type of repo we
+ # have read from, set them to `nil` when they are empty.
+ if [ -z "${VCS_UUID}" ]; then
+ VCS_UUID="nil"
+ else
+ VCS_UUID="\"${VCS_UUID}\""
+ fi
+ if [ -z "${VCS_TAG}" ]; then
+ VCS_TAG="nil"
+ else
+ VCS_TAG="\"${VCS_TAG}\""
+ fi
+ : "${VCS_TICK:="nil"}"
+ if [ -z "${VCS_EXTRA}" ]; then
+ VCS_EXTRA="nil"
+ else
+ VCS_EXTRA="\"${VCS_EXTRA}\""
+ fi
+ if [ -z "${VCS_ACTION_STAMP}" ]; then
+ VCS_ACTION_STAMP="nil"
+ else
+ VCS_ACTION_STAMP="\"${VCS_ACTION_STAMP}\""
+ fi
+ cat > "${TARGETFILE}" << EOF
+/* ${GENERATED_HEADER} */
+
+let VCS_TYPE = "${VCS_TYPE}"
+let VCS_BASENAME = "${VCS_BASENAME}"
+let VCS_UUID: String? = ${VCS_UUID}
+let VCS_NUM: Int = ${VCS_NUM}
+let VCS_DATE = "${VCS_DATE}"
+let VCS_BRANCH: String = "${VCS_BRANCH}"
+let VCS_TAG: String? = ${VCS_TAG}
+let VCS_TICK: Int? = ${VCS_TICK}
+let VCS_EXTRA: String? = ${VCS_EXTRA}
+
+let VCS_ACTION_STAMP: String? = ${VCS_ACTION_STAMP}
+let VCS_FULL_HASH: String = "${VCS_FULL_HASH}"
+let VCS_SHORT_HASH: String = "${VCS_SHORT_HASH}"
+
+let VCS_WC_MODIFIED: Bool = ${VCS_WC_MODIFIED}
+
+/* end */
+EOF
+}
+
+# For Python output
+pyOutput() {
+ case "${VCS_WC_MODIFIED}" in
+ 0) VCS_WC_MODIFIED="False" ;;
+ 1) VCS_WC_MODIFIED="True" ;;
+ esac
+ cat > "${TARGETFILE}" << EOF
+# ${GENERATED_HEADER}
+
+VCS_TYPE = "${VCS_TYPE}"
+VCS_BASENAME = "${VCS_BASENAME}"
+VCS_UUID = "${VCS_UUID}"
+VCS_NUM = ${VCS_NUM}
+VCS_DATE = "${VCS_DATE}"
+VCS_BRANCH = "${VCS_BRANCH}"
+VCS_TAG = "${VCS_TAG}"
+VCS_TICK = ${VCS_TICK}
+VCS_EXTRA = "${VCS_EXTRA}"
+
+VCS_ACTION_STAMP = "${VCS_ACTION_STAMP}"
+VCS_FULL_HASH = "${VCS_FULL_HASH}"
+VCS_SHORT_HASH = "${VCS_SHORT_HASH}"
+
+VCS_WC_MODIFIED = ${VCS_WC_MODIFIED}
+
+# end
+EOF
+}
+
+# For Perl output
+plOutput() {
+ cat << EOF
+# ${GENERATED_HEADER}
+
+\$VCS_TYPE = '${VCS_TYPE}';
+\$VCS_BASENAME = '${VCS_BASENAME}';
+\$VCS_UUID = '${VCS_UUID}';
+\$VCS_NUM = ${VCS_NUM};
+\$VCS_DATE = '${VCS_DATE}';
+\$VCS_BRANCH = '${VCS_BRANCH}';
+\$VCS_TAG = '${VCS_TAG}';
+\$VCS_TICK = ${VCS_TICK};
+\$VCS_EXTRA = '${VCS_EXTRA}';
+
+\$VCS_ACTION_STAMP = '${VCS_ACTION_STAMP}';
+\$VCS_FULL_HASH = '${VCS_FULL_HASH}';
+\$VCS_SHORT_HASH = '${VCS_SHORT_HASH}';
+
+\$VCS_WC_MODIFIED = ${VCS_WC_MODIFIED};
+
+# end
+1;
+EOF
+}
+
+# For lua output
+luaOutput() {
+ case "${VCS_WC_MODIFIED}" in
+ 0) VCS_WC_MODIFIED="false" ;;
+ 1) VCS_WC_MODIFIED="true" ;;
+ esac
+ cat > "${TARGETFILE}" << EOF
+-- ${GENERATED_HEADER}
+
+VCS_TYPE = "${VCS_TYPE}"
+VCS_BASENAME = "${VCS_BASENAME}"
+VCS_UUID = "${VCS_UUID}"
+VCS_NUM = ${VCS_NUM}
+VCS_DATE = "${VCS_DATE}"
+VCS_BRANCH = "${VCS_BRANCH}"
+VCS_TAG = "${VCS_TAG}"
+VCS_TICK = ${VCS_TICK}
+VCS_EXTRA = "${VCS_EXTRA}"
+
+VCS_ACTION_STAMP = "${VCS_ACTION_STAMP}"
+VCS_FULL_HASH = "${VCS_FULL_HASH}"
+VCS_SHORT_HASH = "${VCS_SHORT_HASH}"
+
+VCS_WC_MODIFIED = ${VCS_WC_MODIFIED}
+
+-- end
+EOF
+}
+
+# For php output
+phpOutput() {
+ case "${VCS_WC_MODIFIED}" in
+ 0) VCS_WC_MODIFIED="false" ;;
+ 1) VCS_WC_MODIFIED="true" ;;
+ esac
+ cat > "${TARGETFILE}" << EOF
+<?php
+# ${GENERATED_HEADER}
+
+return array(
+ "VCS_TYPE" => "${VCS_TYPE}",
+ "VCS_BASENAME" => "${VCS_BASENAME}",
+ "VCS_UUID" => "${VCS_UUID}",
+ "VCS_NUM" => ${VCS_NUM},
+ "VCS_DATE" => "${VCS_DATE}",
+ "VCS_BRANCH" => "${VCS_BRANCH}",
+ "VCS_TAG" => "${VCS_TAG}",
+ "VCS_TICK" => ${VCS_TICK},
+ "VCS_EXTRA" => "${VCS_EXTRA}",
+ "VCS_ACTION_STAMP" => "${VCS_ACTION_STAMP}",
+ "VCS_FULL_HASH" => "${VCS_FULL_HASH}",
+ "VCS_SHORT_HASH" => "${VCS_SHORT_HASH}",
+ "VCS_WC_MODIFIED" => ${VCS_WC_MODIFIED}
+);
+
+# end
+?>
+EOF
+}
+
+# For ini output
+iniOutput() {
+ case "${VCS_WC_MODIFIED}" in
+ 0) VCS_WC_MODIFIED="false" ;;
+ 1) VCS_WC_MODIFIED="true" ;;
+ esac
+ cat > "${TARGETFILE}" << EOF
+; ${GENERATED_HEADER}
+[VCS]
+VCS_TYPE = "${VCS_TYPE}"
+VCS_BASENAME = "${VCS_BASENAME}"
+VCS_UUID = "${VCS_UUID}"
+VCS_NUM = ${VCS_NUM}
+VCS_DATE = "${VCS_DATE}"
+VCS_BRANCH = "${VCS_BRANCH}"
+VCS_TAG = "${VCS_TAG}"
+VCS_TICK = ${VCS_TICK}
+VCS_EXTRA = "${VCS_EXTRA}"
+VCS_ACTION_STAMP = "${VCS_ACTION_STAMP}"
+VCS_FULL_HASH = "${VCS_FULL_HASH}"
+VCS_SHORT_HASH = "${VCS_SHORT_HASH}"
+VCS_WC_MODIFIED = ${VCS_WC_MODIFIED}
+; end
+EOF
+}
+
+# For javascript output
+jsOutput() {
+ case "${VCS_WC_MODIFIED}" in
+ 1) VCS_WC_MODIFIED="true" ;;
+ 0) VCS_WC_MODIFIED="false" ;;
+ esac
+ cat > "${TARGETFILE}" << EOF
+/** ${GENERATED_HEADER} */
+
+var autorevision = {
+ VCS_TYPE: "${VCS_TYPE}",
+ VCS_BASENAME: "${VCS_BASENAME}",
+ VCS_UUID: "${VCS_UUID}",
+ VCS_NUM: ${VCS_NUM},
+ VCS_DATE: "${VCS_DATE}",
+ VCS_BRANCH: "${VCS_BRANCH}",
+ VCS_TAG: "${VCS_TAG}",
+ VCS_TICK: ${VCS_TICK},
+ VCS_EXTRA: "${VCS_EXTRA}",
+
+ VCS_ACTION_STAMP: "${VCS_ACTION_STAMP}",
+ VCS_FULL_HASH: "${VCS_FULL_HASH}",
+ VCS_SHORT_HASH: "${VCS_SHORT_HASH}",
+
+ VCS_WC_MODIFIED: ${VCS_WC_MODIFIED}
+};
+
+/** Node.js compatibility */
+if (typeof module !== 'undefined') {
+ module.exports = autorevision;
+}
+
+/** end */
+EOF
+}
+
+# For JSON output
+jsonOutput() {
+ case "${VCS_WC_MODIFIED}" in
+ 1) VCS_WC_MODIFIED="true" ;;
+ 0) VCS_WC_MODIFIED="false" ;;
+ esac
+ cat > "${TARGETFILE}" << EOF
+{
+ "_comment": "${GENERATED_HEADER}",
+ "VCS_TYPE": "${VCS_TYPE}",
+ "VCS_BASENAME": "${VCS_BASENAME}",
+ "VCS_UUID": "${VCS_UUID}",
+ "VCS_NUM": ${VCS_NUM},
+ "VCS_DATE": "${VCS_DATE}",
+ "VCS_BRANCH":"${VCS_BRANCH}",
+ "VCS_TAG": "${VCS_TAG}",
+ "VCS_TICK": ${VCS_TICK},
+ "VCS_EXTRA": "${VCS_EXTRA}",
+
+ "VCS_ACTION_STAMP": "${VCS_ACTION_STAMP}",
+ "VCS_FULL_HASH": "${VCS_FULL_HASH}",
+ "VCS_SHORT_HASH": "${VCS_SHORT_HASH}",
+
+ "VCS_WC_MODIFIED": ${VCS_WC_MODIFIED}
+}
+EOF
+}
+
+# For Java output
+javaOutput() {
+ case "${VCS_WC_MODIFIED}" in
+ 1) VCS_WC_MODIFIED="true" ;;
+ 0) VCS_WC_MODIFIED="false" ;;
+ esac
+ cat > "${TARGETFILE}" << EOF
+/* ${GENERATED_HEADER} */
+
+public class autorevision {
+ public static final String VCS_TYPE = "${VCS_TYPE}";
+ public static final String VCS_BASENAME = "${VCS_BASENAME}";
+ public static final String VCS_UUID = "${VCS_UUID}";
+ public static final long VCS_NUM = ${VCS_NUM};
+ public static final String VCS_DATE = "${VCS_DATE}";
+ public static final String VCS_BRANCH = "${VCS_BRANCH}";
+ public static final String VCS_TAG = "${VCS_TAG}";
+ public static final long VCS_TICK = ${VCS_TICK};
+ public static final String VCS_EXTRA = "${VCS_EXTRA}";
+
+ public static final String VCS_ACTION_STAMP = "${VCS_ACTION_STAMP}";
+ public static final String VCS_FULL_HASH = "${VCS_FULL_HASH}";
+ public static final String VCS_SHORT_HASH = "${VCS_SHORT_HASH}";
+
+ public static final boolean VCS_WC_MODIFIED = ${VCS_WC_MODIFIED};
+}
+EOF
+}
+
+# For Java properties output
+javapropOutput() {
+ case "${VCS_WC_MODIFIED}" in
+ 1) VCS_WC_MODIFIED="true" ;;
+ 0) VCS_WC_MODIFIED="false" ;;
+ esac
+ cat > "${TARGETFILE}" << EOF
+# ${GENERATED_HEADER}
+
+VCS_TYPE=${VCS_TYPE}
+VCS_BASENAME=${VCS_BASENAME}
+VCS_UUID=${VCS_UUID}
+VCS_NUM=${VCS_NUM}
+VCS_DATE=${VCS_DATE}
+VCS_BRANCH=${VCS_BRANCH}
+VCS_TAG=${VCS_TAG}
+VCS_TICK=${VCS_TICK}
+VCS_EXTRA=${VCS_EXTRA}
+
+VCS_ACTION_STAMP=${VCS_ACTION_STAMP}
+VCS_FULL_HASH=${VCS_FULL_HASH}
+VCS_SHORT_HASH=${VCS_SHORT_HASH}
+
+VCS_WC_MODIFIED=${VCS_WC_MODIFIED}
+EOF
+}
+
+# For m4 output
+m4Output() {
+ cat > "${TARGETFILE}" << EOF
+dnl ${GENERATED_HEADER}
+define(\`VCS_TYPE', \`${VCS_TYPE}')dnl
+define(\`VCS_BASENAME', \`${VCS_BASENAME}')dnl
+define(\`VCS_UUID', \`${VCS_UUID}')dnl
+define(\`VCS_NUM', \`${VCS_NUM}')dnl
+define(\`VCS_DATE', \`${VCS_DATE}')dnl
+define(\`VCS_BRANCH', \`${VCS_BRANCH}')dnl
+define(\`VCS_TAG', \`${VCS_TAG}')dnl
+define(\`VCS_TICK', \`${VCS_TICK}')dnl
+define(\`VCS_EXTRA', \`${VCS_EXTRA}')dnl
+define(\`VCS_ACTIONSTAMP', \`${VCS_ACTION_STAMP}')dnl
+define(\`VCS_FULLHASH', \`${VCS_FULL_HASH}')dnl
+define(\`VCS_SHORTHASH', \`${VCS_SHORT_HASH}')dnl
+define(\`VCS_WC_MODIFIED', \`${VCS_WC_MODIFIED}')dnl
+EOF
+}
+
+# For (La)TeX output
+texOutput() {
+ case "${VCS_WC_MODIFIED}" in
+ 0) VCS_WC_MODIFIED="false" ;;
+ 1) VCS_WC_MODIFIED="true" ;;
+ esac
+ cat > "${TARGETFILE}" << EOF
+% ${GENERATED_HEADER}
+\def \vcsType {${VCS_TYPE}}
+\def \vcsBasename {${VCS_BASENAME}}
+\def \vcsUUID {${VCS_UUID}}
+\def \vcsNum {${VCS_NUM}}
+\def \vcsDate {${VCS_DATE}}
+\def \vcsBranch {${VCS_BRANCH}}
+\def \vcsTag {${VCS_TAG}}
+\def \vcsTick {${VCS_TICK}}
+\def \vcsExtra {${VCS_EXTRA}}
+\def \vcsACTIONSTAMP {${VCS_ACTION_STAMP}}
+\def \vcsFullHash {${VCS_FULL_HASH}}
+\def \vcsShortHash {${VCS_SHORT_HASH}}
+\def \vcsWCModified {${VCS_WC_MODIFIED}}
+\endinput
+EOF
+}
+
+# For scheme output
+schemeOutput() {
+ case "${VCS_WC_MODIFIED}" in
+ 0) VCS_WC_MODIFIED="#f" ;;
+ 1) VCS_WC_MODIFIED="#t" ;;
+ esac
+ cat > "${TARGETFILE}" << EOF
+;; ${GENERATED_HEADER}
+(define VCS_TYPE "${VCS_TYPE}")
+(define VCS_BASENAME "${VCS_BASENAME}")
+(define VCS_UUID "${VCS_UUID}")
+(define VCS_NUM ${VCS_NUM})
+(define VCS_DATE "${VCS_DATE}")
+(define VCS_BRANCH "${VCS_BRANCH}")
+(define VCS_TAG "${VCS_TAG}")
+(define VCS_TICK ${VCS_TICK})
+(define VCS_EXTRA "${VCS_EXTRA}")
+
+(define VCS_ACTION_STAMP "${VCS_ACTION_STAMP}")
+(define VCS_FULL_HASH "${VCS_FULL_HASH}")
+(define VCS_SHORT_HASH "${VCS_SHORT_HASH}")
+
+(define VCS_WC_MODIFIED ${VCS_WC_MODIFIED})
+;; end
+EOF
+}
+
+# For clojure output
+clojureOutput() {
+ case "${VCS_WC_MODIFIED}" in
+ 0) VCS_WC_MODIFIED="false" ;;
+ 1) VCS_WC_MODIFIED="true" ;;
+ esac
+ cat > "${TARGETFILE}" << EOF
+;; ${GENERATED_HEADER}
+(def VCS_TYPE "${VCS_TYPE}")
+(def VCS_BASENAME "${VCS_BASENAME}")
+(def VCS_UUID "${VCS_UUID}")
+(def VCS_NUM ${VCS_NUM})
+(def VCS_DATE "${VCS_DATE}")
+(def VCS_BRANCH "${VCS_BRANCH}")
+(def VCS_TAG "${VCS_TAG}")
+(def VCS_TICK ${VCS_TICK})
+(def VCS_EXTRA "${VCS_EXTRA}")
+
+(def VCS_ACTION_STAMP "${VCS_ACTION_STAMP}")
+(def VCS_FULL_HASH "${VCS_FULL_HASH}")
+(def VCS_SHORT_HASH "${VCS_SHORT_HASH}")
+
+(def VCS_WC_MODIFIED ${VCS_WC_MODIFIED})
+;; end
+EOF
+}
+
+# For rpm spec file output
+rpmOutput() {
+ cat > "${TARGETFILE}" << EOF
+# ${GENERATED_HEADER}
+$([ "${VCS_TYPE}" ] && echo "%define vcs_type ${VCS_TYPE}")
+$([ "${VCS_BASENAME}" ] && echo "%define vcs_basename ${VCS_BASENAME}")
+$([ "${VCS_UUID}" ] && echo "%define vcs_uuid ${VCS_UUID}")
+$([ "${VCS_NUM}" ] && echo "%define vcs_num ${VCS_NUM}")
+$([ "${VCS_DATE}" ] && echo "%define vcs_date ${VCS_DATE}")
+$([ "${VCS_BRANCH}" ] && echo "%define vcs_branch ${VCS_BRANCH}")
+$([ "${VCS_TAG}" ] && echo "%define vcs_tag ${VCS_TAG}")
+$([ "${VCS_TICK}" ] && echo "%define vcs_tick ${VCS_TICK}")
+$([ "${VCS_EXTRA}" ] && echo "%define vcs_extra ${VCS_EXTRA}")
+
+$([ "${VCS_ACTION_STAMP}" ] && echo "%define vcs_action_stamp ${VCS_ACTION_STAMP}")
+$([ "${VCS_FULL_HASH}" ] && echo "%define vcs_full_hash ${VCS_FULL_HASH}")
+$([ "${VCS_SHORT_HASH}" ] && echo "%define vcs_short_hash ${VCS_SHORT_HASH}")
+
+$([ "${VCS_WC_MODIFIED}" ] && echo "%define vcs_wc_modified ${VCS_WC_MODIFIED}")
+# end
+EOF
+}
+
+# shellcheck disable=SC2155,SC2039
+hppOutput() {
+ local NAMESPACE="$(echo "${VCS_BASENAME}" | sed -e 's:_::g' | tr '[:lower:]' '[:upper:]')"
+ cat > "${TARGETFILE}" << EOF
+/* ${GENERATED_HEADER} */
+
+#ifndef ${NAMESPACE}_AUTOREVISION_H
+#define ${NAMESPACE}_AUTOREVISION_H
+
+#include <string>
+
+namespace $(echo "${NAMESPACE}" | tr '[:upper:]' '[:lower:]')
+{
+ const std::string VCS_TYPE = "${VCS_TYPE}";
+ const std::string VCS_BASENAME = "${VCS_BASENAME}";
+ const std::string VCS_UUID = "${VCS_UUID}";
+ const int VCS_NUM = ${VCS_NUM};
+ const std::string VCS_DATE = "${VCS_DATE}";
+ const std::string VCS_BRANCH = "${VCS_BRANCH}";
+ const std::string VCS_TAG = "${VCS_TAG}";
+ const int VCS_TICK = ${VCS_TICK};
+ const std::string VCS_EXTRA = "${VCS_EXTRA}";
+
+ const std::string VCS_ACTION_STAMP = "${VCS_ACTION_STAMP}";
+ const std::string VCS_FULL_HASH = "${VCS_FULL_HASH}";
+ const std::string VCS_SHORT_HASH = "${VCS_SHORT_HASH}";
+
+ const int VCS_WC_MODIFIED = ${VCS_WC_MODIFIED};
+}
+
+#endif
+
+/* end */
+EOF
+}
+
+matlabOutput() {
+ case "${VCS_WC_MODIFIED}" in
+ 0) VCS_WC_MODIFIED="FALSE" ;;
+ 1) VCS_WC_MODIFIED="TRUE" ;;
+ esac
+ cat > "${TARGETFILE}" << EOF
+% ${GENERATED_HEADER}
+
+VCS_TYPE = '${VCS_TYPE}';
+VCS_BASENAME = '${VCS_BASENAME}';
+VCS_UUID = '${VCS_UUID}';
+VCS_NUM = ${VCS_NUM};
+VCS_DATE = '${VCS_DATE}';
+VCS_BRANCH = '${VCS_BRANCH}';
+VCS_TAG = '${VCS_TAG}';
+VCS_TICK = ${VCS_TICK};
+VCS_EXTRA = '${VCS_EXTRA}';
+
+VCS_ACTION_STAMP = '${VCS_ACTION_STAMP}';
+VCS_FULL_HASH = '${VCS_FULL_HASH}';
+VCS_SHORT_HASH = '${VCS_SHORT_HASH}';
+
+VCS_WC_MODIFIED = ${VCS_WC_MODIFIED};
+
+% end
+EOF
+}
+
+octaveOutput() {
+ cat > "${TARGETFILE}" << EOF
+% ${GENERATED_HEADER}
+
+VCS_TYPE = '${VCS_TYPE}';
+VCS_BASENAME = '${VCS_BASENAME}';
+VCS_UUID = '${VCS_UUID}';
+VCS_NUM = ${VCS_NUM};
+VCS_DATE = '${VCS_DATE}';
+VCS_BRANCH = '${VCS_BRANCH}';
+VCS_TAG = '${VCS_TAG}';
+VCS_TICK = ${VCS_TICK};
+VCS_EXTRA = '${VCS_EXTRA}';
+
+VCS_ACTION_STAMP = '${VCS_ACTION_STAMP}';
+VCS_FULL_HASH = '${VCS_FULL_HASH}';
+VCS_SHORT_HASH = '${VCS_SHORT_HASH}';
+
+VCS_WC_MODIFIED = ${VCS_WC_MODIFIED};
+
+% end
+EOF
+}
+
+cmakeOutput() {
+ cat > "${TARGETFILE}" << EOF
+# ${GENERATED_HEADER}
+
+set(VCS_TYPE ${VCS_TYPE})
+set(VCS_BASENAME ${VCS_BASENAME})
+set(VCS_UUID ${VCS_UUID})
+set(VCS_NUM ${VCS_NUM})
+set(VCS_DATE ${VCS_DATE})
+set(VCS_BRANCH ${VCS_BRANCH})
+set(VCS_TAG ${VCS_TAG})
+set(VCS_TICK ${VCS_TICK})
+set(VCS_EXTRA ${VCS_EXTRA})
+
+set(VCS_ACTION_STAMP ${VCS_ACTION_STAMP})
+set(VCS_FULL_HASH ${VCS_FULL_HASH})
+set(VCS_SHORT_HASH ${VCS_SHORT_HASH})
+
+set(VCS_WC_MODIFIED ${VCS_WC_MODIFIED})
+
+# end
+EOF
+}
+
+
+# Helper functions
+# Count path segments
+# shellcheck disable=SC2039
+pathSegment() {
+ local pathz="${1}"
+ local depth="0"
+
+ if [ ! -z "${pathz}" ]; then
+ # Continue until we are at / or there are no path separators left.
+ while [ ! "${pathz}" = "/" ] && [ ! "${pathz}" = "$(echo "${pathz}" | sed -e 's:/::')" ]; do
+ pathz="$(dirname "${pathz}")"
+ depth="$((depth+1))"
+ done
+ fi
+ echo "${depth}"
+}
+
+# Largest of four numbers
+# shellcheck disable=SC2039
+multiCompare() {
+ local larger="${1}"
+ local numA="${2}"
+ local numB="${3}"
+ local numC="${4}"
+
+ [ "${numA}" -gt "${larger}" ] && larger="${numA}"
+ [ "${numB}" -gt "${larger}" ] && larger="${numB}"
+ [ "${numC}" -gt "${larger}" ] && larger="${numC}"
+ echo "${larger}"
+}
+
+# Test for repositories
+# shellcheck disable=SC2155,SC2039
+repoTest() {
+ REPONUM="0"
+ if [ ! -z "$(git rev-parse HEAD 2>/dev/null)" ]; then
+ local gitPath="$(git rev-parse --show-toplevel)"
+ local gitDepth="$(pathSegment "${gitPath}")"
+ REPONUM="$((REPONUM+1))"
+ else
+ local gitDepth="0"
+ fi
+ if [ ! -z "$(hg root 2>/dev/null)" ]; then
+ local hgPath="$(hg root 2>/dev/null)"
+ local hgDepth="$(pathSegment "${hgPath}")"
+ REPONUM="$((REPONUM+1))"
+ else
+ local hgDepth="0"
+ fi
+ if [ ! -z "$(bzr root 2>/dev/null)" ]; then
+ local bzrPath="$(bzr root 2>/dev/null)"
+ local bzrDepth="$(pathSegment "${bzrPath}")"
+ REPONUM="$((REPONUM+1))"
+ else
+ local bzrDepth="0"
+ fi
+ if [ ! -z "$(svn info 2>/dev/null)" ]; then
+ local stringz="<wcroot-abspath>"
+ local stringx="</wcroot-abspath>"
+ local svnPath="$(svn info --xml | sed -n -e "s:${stringz}::" -e "s:${stringx}::p")"
+ # An old enough svn will not be able give us a path; default
+ # to 1 for that case.
+ if [ -z "${svnPath}" ]; then
+ local svnDepth="1"
+ else
+ local svnDepth="$(pathSegment "${svnPath}")"
+ fi
+ REPONUM="$((REPONUM+1))"
+ else
+ local svnDepth="0"
+ fi
+
+ # Do not do more work then we have to.
+ if [ "${REPONUM}" = "0" ]; then
+ return
+ fi
+
+ # Figure out which repo is the deepest and use it.
+ local wonRepo="$(multiCompare "${gitDepth}" "${hgDepth}" "${bzrDepth}" "${svnDepth}")"
+ if [ "${wonRepo}" = "${gitDepth}" ]; then
+ gitRepo
+ elif [ "${wonRepo}" = "${hgDepth}" ]; then
+ hgRepo
+ elif [ "${wonRepo}" = "${bzrDepth}" ]; then
+ bzrRepo
+ elif [ "${wonRepo}" = "${svnDepth}" ]; then
+ svnRepo
+ fi
+}
+
+
+
+# Detect which repos we are in and gather data.
+# shellcheck source=/dev/null
+if [ -f "${CACHEFILE}" ] && [ "${CACHEFORCE}" = "1" ]; then
+ # When requested only read from the cache to populate our symbols.
+ . "${CACHEFILE}"
+else
+ # If a value is not set through the environment set VCS_EXTRA to nothing.
+ : "${VCS_EXTRA:=""}"
+ repoTest
+
+ if [ -f "${CACHEFILE}" ] && [ "${REPONUM}" = "0" ]; then
+ # We are not in a repo; try to use a previously generated cache to populate our symbols.
+ . "${CACHEFILE}"
+ # Do not overwrite the cache if we know we are not going to write anything new.
+ CACHEFORCE="1"
+ elif [ "${REPONUM}" = "0" ]; then
+ echo "error: No repo or cache detected." 1>&2
+ exit 1
+ fi
+fi
+
+
+# -s output is handled here.
+if [ ! -z "${VAROUT}" ]; then
+ if [ "${VAROUT}" = "VCS_TYPE" ]; then
+ echo "${VCS_TYPE}"
+ elif [ "${VAROUT}" = "VCS_BASENAME" ]; then
+ echo "${VCS_BASENAME}"
+ elif [ "${VAROUT}" = "VCS_NUM" ]; then
+ echo "${VCS_NUM}"
+ elif [ "${VAROUT}" = "VCS_DATE" ]; then
+ echo "${VCS_DATE}"
+ elif [ "${VAROUT}" = "VCS_BRANCH" ]; then
+ echo "${VCS_BRANCH}"
+ elif [ "${VAROUT}" = "VCS_TAG" ]; then
+ echo "${VCS_TAG}"
+ elif [ "${VAROUT}" = "VCS_TICK" ]; then
+ echo "${VCS_TICK}"
+ elif [ "${VAROUT}" = "VCS_FULL_HASH" ]; then
+ echo "${VCS_FULL_HASH}"
+ elif [ "${VAROUT}" = "VCS_SHORT_HASH" ]; then
+ echo "${VCS_SHORT_HASH}"
+ elif [ "${VAROUT}" = "VCS_WC_MODIFIED" ]; then
+ echo "${VCS_WC_MODIFIED}"
+ elif [ "${VAROUT}" = "VCS_ACTION_STAMP" ]; then
+ echo "${VCS_ACTION_STAMP}"
+ else
+ echo "error: Not a valid output symbol." 1>&2
+ exit 1
+ fi
+fi
+
+
+# Detect requested output type and use it.
+if [ ! -z "${AFILETYPE}" ]; then
+ if [ "${AFILETYPE}" = "c" ]; then
+ cOutput
+ elif [ "${AFILETYPE}" = "h" ]; then
+ hOutput
+ elif [ "${AFILETYPE}" = "xcode" ]; then
+ xcodeOutput
+ elif [ "${AFILETYPE}" = "swift" ]; then
+ swiftOutput
+ elif [ "${AFILETYPE}" = "sh" ]; then
+ shOutput
+ elif [ "${AFILETYPE}" = "py" ] || [ "${AFILETYPE}" = "python" ]; then
+ pyOutput
+ elif [ "${AFILETYPE}" = "pl" ] || [ "${AFILETYPE}" = "perl" ]; then
+ plOutput
+ elif [ "${AFILETYPE}" = "lua" ]; then
+ luaOutput
+ elif [ "${AFILETYPE}" = "php" ]; then
+ phpOutput
+ elif [ "${AFILETYPE}" = "ini" ]; then
+ iniOutput
+ elif [ "${AFILETYPE}" = "js" ]; then
+ jsOutput
+ elif [ "${AFILETYPE}" = "json" ]; then
+ jsonOutput
+ elif [ "${AFILETYPE}" = "java" ]; then
+ javaOutput
+ elif [ "${AFILETYPE}" = "javaprop" ]; then
+ javapropOutput
+ elif [ "${AFILETYPE}" = "tex" ]; then
+ texOutput
+ elif [ "${AFILETYPE}" = "m4" ]; then
+ m4Output
+ elif [ "${AFILETYPE}" = "scheme" ]; then
+ schemeOutput
+ elif [ "${AFILETYPE}" = "clojure" ]; then
+ clojureOutput
+ elif [ "${AFILETYPE}" = "rpm" ]; then
+ rpmOutput
+ elif [ "${AFILETYPE}" = "hpp" ]; then
+ hppOutput
+ elif [ "${AFILETYPE}" = "matlab" ]; then
+ matlabOutput
+ elif [ "${AFILETYPE}" = "octave" ]; then
+ octaveOutput
+ elif [ "${AFILETYPE}" = "cmake" ]; then
+ cmakeOutput
+ else
+ echo "error: Not a valid output type." 1>&2
+ exit 1
+ fi
+fi
+
+
+# If requested, make a cache file.
+if [ ! -z "${CACHEFILE}" ] && [ ! "${CACHEFORCE}" = "1" ]; then
+ TARGETFILE="${CACHEFILE}.tmp"
+ shOutput
+
+ # Check to see if there have been any actual changes.
+ if [ ! -f "${CACHEFILE}" ]; then
+ mv -f "${CACHEFILE}.tmp" "${CACHEFILE}"
+ elif cmp -s "${CACHEFILE}.tmp" "${CACHEFILE}"; then
+ rm -f "${CACHEFILE}.tmp"
+ else
+ mv -f "${CACHEFILE}.tmp" "${CACHEFILE}"
+ fi
+fi
diff --git a/ci/get-nprocessors.sh b/ci/get-nprocessors.sh
new file mode 100644
index 0000000..43635e7
--- /dev/null
+++ b/ci/get-nprocessors.sh
@@ -0,0 +1,48 @@
+#!/usr/bin/env bash
+# Copyright 2017 Google Inc.
+# All Rights Reserved.
+#
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# * Redistributions in binary form must reproduce the above
+# copyright notice, this list of conditions and the following disclaimer
+# in the documentation and/or other materials provided with the
+# distribution.
+# * Neither the name of Google Inc. nor the names of its
+# contributors may be used to endorse or promote products derived from
+# this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# This file is typically sourced by another script.
+# if possible, ask for the precise number of processors,
+# otherwise take 2 processors as reasonable default; see
+# https://docs.travis-ci.com/user/speeding-up-the-build/#Makefile-optimization
+if [ -x /usr/bin/getconf ]; then
+ NPROCESSORS=$(/usr/bin/getconf _NPROCESSORS_ONLN)
+else
+ NPROCESSORS=2
+fi
+
+# as of 2017-09-04 Travis CI reports 32 processors, but GCC build
+# crashes if parallelized too much (maybe memory consumption problem),
+# so limit to 4 processors for the time being.
+if [ $NPROCESSORS -gt 4 ] ; then
+ echo "$0:Note: Limiting processors to use by make from $NPROCESSORS to 4."
+ NPROCESSORS=4
+fi
diff --git a/ci/perpare_pulp3_netrc.sh b/ci/perpare_pulp3_netrc.sh
new file mode 100644
index 0000000..8414bbb
--- /dev/null
+++ b/ci/perpare_pulp3_netrc.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env sh
+set -evx
+echo "machine ${PULP3_SERVER_URL}\nlogin ${PULP3_SERVER_LOGIN}\npassword ${PULP3_SERVER_PASSWORD}\n" > ~/.netrc
diff --git a/ci/travis.sh b/ci/travis.sh
new file mode 100644
index 0000000..4f07bdf
--- /dev/null
+++ b/ci/travis.sh
@@ -0,0 +1,65 @@
+#!/usr/bin/env sh
+set -evx
+
+chmod +x ci/get-nprocessors.sh
+. ci/get-nprocessors.sh
+
+# if possible, ask for the precise number of processors,
+# otherwise take 2 processors as reasonable default; see
+# https://docs.travis-ci.com/user/speeding-up-the-build/#Makefile-optimization
+if [ -x /usr/bin/getconf ]; then
+ NPROCESSORS=$(/usr/bin/getconf _NPROCESSORS_ONLN)
+else
+ NPROCESSORS=2
+fi
+
+# as of 2017-09-04 Travis CI reports 32 processors, but GCC build
+# crashes if parallelized too much (maybe memory consumption problem),
+# so limit to 4 processors for the time being.
+if [ $NPROCESSORS -gt 4 ] ; then
+ echo "$0:Note: Limiting processors to use by make from $NPROCESSORS to 4."
+ NPROCESSORS=4
+fi
+
+# Tell make to use the processors. No preceding '-' required.
+MAKEFLAGS="j${NPROCESSORS}"
+export MAKEFLAGS
+
+env | sort
+
+# Set default values to OFF for these variables if not specified.
+: "${NO_EXCEPTION:=OFF}"
+: "${NO_RTTI:=OFF}"
+: "${COMPILER_IS_GNUCXX:=OFF}"
+
+# Install dependency from YUM
+if [ -n "${INSTALL_DEPENDENCY_LIBRARY}" ]; then
+ yum install -y $INSTALL_DEPENDENCY_LIBRARY
+ source /etc/profile.d/framework.sh
+fi
+mkdir build || true
+cd build
+
+cmake3 -DCMAKE_CXX_FLAGS=$CXX_FLAGS \
+ -DCMAKE_BUILD_TYPE=$BUILD_TYPE \
+ -DCMAKE_INSTALL_PREFIX=$INSTALL_PREFIX \
+ -DENABLE_DEVEL=$ENABLE_DEVEL_SWITCH \
+ -DVERSION_DAILY_BUILD=$TESTING_VERSION_BUILD \
+ ..
+
+make
+
+if [ -n "${PACKAGE}" ]; then
+ make package
+fi
+
+if [ -n "${UPLOAD}" ]; then
+ cp ~/rpm_upload_tools.py ./
+ python3 rpm_upload_tools.py ${PULP3_REPO_NAME} ${PULP3_DIST_NAME} *.rpm
+fi
+
+#if [ -n "${UPLOAD_SYMBOL_FILES}" ]; then
+# rpm -i tfe*debuginfo*.rpm
+# cp /usr/lib/debug/opt/tsg/tfe/bin/tfe.debug /tmp/tfe.debuginfo.${CI_COMMIT_SHORT_SHA}
+# sentry-cli upload-dif -t elf /tmp/tfe.debuginfo.${CI_COMMIT_SHORT_SHA}
+#fi
diff --git a/cmake/FindSYSTEMD.cmake b/cmake/FindSYSTEMD.cmake
new file mode 100644
index 0000000..c7decde
--- /dev/null
+++ b/cmake/FindSYSTEMD.cmake
@@ -0,0 +1,39 @@
+# - Find SystemdDaemon
+# Find the systemd daemon library
+#
+# This module defines the following variables:
+# SYSTEMD_FOUND - True if library and include directory are found
+# If set to TRUE, the following are also defined:
+# SYSTEMD_INCLUDE_DIRS - The directory where to find the header file
+# SYSTEMD_LIBRARIES - Where to find the library file
+#
+# For conveniance, these variables are also set. They have the same values
+# than the variables above. The user can thus choose his/her prefered way
+# to write them.
+# SYSTEMD_LIBRARY
+# SYSTEMD_INCLUDE_DIR
+#
+# This file is in the public domain
+
+include(FindPkgConfig)
+pkg_check_modules(SYSTEMD libsystemd)
+
+if(NOT SYSTEMD_FOUND)
+ find_path(SYSTEMD_INCLUDE_DIRS NAMES systemd/sd-daemon.h
+ DOC "The Systemd include directory")
+
+ find_library(SYSTEMD_LIBRARIES NAMES systemd
+ DOC "The Systemd library")
+
+ # Use some standard module to handle the QUIETLY and REQUIRED arguments, and
+ # set SYSTEMD_FOUND to TRUE if these two variables are set.
+ include(FindPackageHandleStandardArgs)
+ find_package_handle_standard_args(SYSTEMD REQUIRED_VARS SYSTEMD_LIBRARIES SYSTEMD_INCLUDE_DIRS)
+
+ if(SYSTEMD_FOUND)
+ set(SYSTEMD_LIBRARY ${SYSTEMD_LIBRARIES})
+ set(SYSTEMD_INCLUDE_DIR ${SYSTEMD_INCLUDE_DIRS})
+ endif()
+endif()
+
+mark_as_advanced(SYSTEMD_INCLUDE_DIRS SYSTEMD_LIBRARIES) \ No newline at end of file
diff --git a/cmake/Package.cmake b/cmake/Package.cmake
new file mode 100644
index 0000000..33da0c5
--- /dev/null
+++ b/cmake/Package.cmake
@@ -0,0 +1,64 @@
+if(CMAKE_BUILD_TYPE STREQUAL "Debug")
+ set(MY_RPM_NAME_PREFIX "${project_name}-debug")
+else()
+ set(MY_RPM_NAME_PREFIX "${project_name}")
+endif()
+
+message(STATUS "Package: ${MY_RPM_NAME_PREFIX}")
+
+set(CPACK_PACKAGE_VECDOR "MESA")
+set(CPACK_PACKAGE_VERSION_MAJOR "${VERSION_MAJOR}")
+set(CPACK_PACKAGE_VERSION_MINOR "${VERSION_MINOR}")
+set(CPACK_PACKAGE_VERSION_PATCH "${VERSION_PATCH}.${VERSION_BUILD}")
+set(CPACK_PACKAGING_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX})
+set(CPACK_PACKAGE_VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}.${VERSION_BUILD}")
+execute_process(COMMAND bash -c "echo -ne \"`uname -r | awk -F'.' '{print $5\".\"$6\".\"$7}'`\"" OUTPUT_VARIABLE SYSTEM_VERSION)
+
+execute_process(COMMAND sh changelog.sh ${CMAKE_BINARY_DIR} WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/cmake)
+SET(CPACK_RPM_CHANGELOG_FILE ${CMAKE_BINARY_DIR}/changelog.txt)
+
+# RPM Build
+set(CPACK_GENERATOR "RPM")
+set(CPACK_RPM_PACKAGE_VENDOR "MESA")
+set(CPACK_RPM_PACKAGE_AUTOREQPROV "yes")
+set(CPACK_RPM_PACKAGE_RELEASE_LIBRARY "on")
+set(CPACK_RPM_DEBUGINFO_PACKAGE "on")
+set(CPACK_RPM_PACKAGE_DEBUG 1)
+
+set(CPACK_RPM_COMPONENT_INSTALL ON)
+set(CPACK_COMPONENTS_IGNORE_GROUPS 1)
+set(CPACK_COMPONENTS_GROUPING ONE_PER_GROUP)
+set(CPACK_COMPONENT_HEADER_DISPLAY_NAME "develop")
+
+set(CPACK_COMPONENT_EXECUTABLE_REQUIRED TRUE)
+set(CPACK_RPM_EXECUTABLE_PACKAGE_NAME ${MY_RPM_NAME_PREFIX})
+set(CPACK_RPM_EXECUTABLE_FILE_NAME "${CPACK_RPM_EXECUTABLE_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${SYSTEM_VERSION}.rpm")
+set(CPACK_RPM_EXECUTABLE_DEBUGINFO_FILE_NAME "${CPACK_RPM_EXECUTABLE_PACKAGE_NAME}-debuginfo-${CPACK_PACKAGE_VERSION}-${SYSTEM_VERSION}.rpm")
+
+set(CPACK_COMPONENT_EXECUTABLE_GROUP "executable")
+set(CPACK_COMPONENT_LIBRARY_GROUP "executable")
+set(CPACK_COMPONENT_PROFILE_GROUP "executable")
+
+set(CPACK_COMPONENT_HEADER_REQUIRED TRUE)
+set(CPACK_RPM_HEADER_PACKAGE_NAME "${MY_RPM_NAME_PREFIX}-devel")
+set(CPACK_RPM_HEADER_FILE_NAME "${CPACK_RPM_HEADER_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${SYSTEM_VERSION}.rpm")
+set(CPACK_RPM_HEADER_DEBUGINFO_FILE_NAME "${CPACK_RPM_HEADER_PACKAGE_NAME}-debuginfo-${CPACK_PACKAGE_VERSION}-${SYSTEM_VERSION}.rpm")
+set(CPACK_COMPONENT_HEADER_GROUP "header")
+
+set(CPACK_RPM_HEADER_PACKAGE_REQUIRES_PRE ${CPACK_RPM_LIBRARY_PACKAGE_NAME})
+set(CPACK_RPM_HEADER_PACKAGE_CONFLICTS ${CPACK_RPM_HEADER_PACKAGE_NAME})
+
+set(CPACK_COMPONENTS_ALL LIBRARY HEADER EXECUTABLE PROFILE)
+
+set(CPACK_BUILD_SOURCE_DIRS "${CMAKE_SOURCE_DIR}")
+
+set(CPACK_RPM_PACKAGE_AUTOREQPROV "no")
+set(CPACK_RPM_PACKAGE_AUTOREQ "no")
+
+# Must uninstall the debug package before install release package
+set(CPACK_RPM_PACKAGE_CONFLICTS ${MY_RPM_NAME_PREFIX})
+
+# set(CPACK_STRIP_FILES TRUE)
+include(CPack)
+
+
diff --git a/cmake/Version.cmake b/cmake/Version.cmake
new file mode 100644
index 0000000..3722d0e
--- /dev/null
+++ b/cmake/Version.cmake
@@ -0,0 +1,49 @@
+
+# Using autorevision.sh to generate version information
+
+set(__SOURCE_AUTORESIVISION ${CMAKE_SOURCE_DIR}/autorevision.sh)
+set(__AUTORESIVISION ${CMAKE_BINARY_DIR}/autorevision.sh)
+set(__VERSION_CACHE ${CMAKE_BINARY_DIR}/version.txt)
+set(__VERSION_CONFIG ${CMAKE_BINARY_DIR}/version.cmake)
+
+file(COPY ${__SOURCE_AUTORESIVISION} DESTINATION ${CMAKE_BINARY_DIR}
+ FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE
+ WORLD_READ WORLD_EXECUTE)
+
+# execute autorevision.sh to generate version information
+execute_process(COMMAND ${__AUTORESIVISION} -t cmake -o ${__VERSION_CACHE}
+ OUTPUT_FILE ${__VERSION_CONFIG} ERROR_QUIET)
+include(${__VERSION_CONFIG})
+
+# extract major, minor, patch version from git tag
+string(REGEX REPLACE "^v([0-9]+)\\..*" "\\1" VERSION_MAJOR "${VCS_TAG}")
+string(REGEX REPLACE "^v[0-9]+\\.([0-9]+).*" "\\1" VERSION_MINOR "${VCS_TAG}")
+string(REGEX REPLACE "^v[0-9]+\\.[0-9]+\\.([0-9]+).*" "\\1" VERSION_PATCH "${VCS_TAG}")
+
+if(NOT VERSION_MAJOR)
+ set(VERSION_MAJOR 1)
+endif()
+
+if(NOT VERSION_MINOR)
+ set(VERSION_MINOR 0)
+endif()
+
+if(NOT VERSION_PATCH)
+ set(VERSION_PATCH 0)
+endif()
+
+set(VERSION "${VERSION_MAJOR}_${VERSION_MINOR}_${VERSION_PATCH}")
+set(VERSION_BUILD "${VCS_SHORT_HASH}")
+
+# print information
+message(STATUS "Version: ${VERSION}-${VERSION_BUILD}")
+
+option(DEFINE_GIT_VERSION "Set DEFINE_GIT_VERSION to TRUE or FALSE" TRUE)
+
+if(DEFINE_GIT_VERSION)
+ set(GIT_VERSION
+ "${VERSION}-${CMAKE_BUILD_TYPE}-${VERSION_BUILD}-${VCS_BRANCH}-${VCS_TAG}-${VCS_DATE}")
+ string(REGEX REPLACE "[-:+/\\.]" "_" GIT_VERSION ${GIT_VERSION})
+
+ add_definitions(-DGIT_VERSION=${GIT_VERSION})
+endif()
diff --git a/cmake/changelog.sh b/cmake/changelog.sh
new file mode 100644
index 0000000..67f995f
--- /dev/null
+++ b/cmake/changelog.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+work_path=$1
+branch=`git status | grep branch | awk '{print $NF}'`
+git log --branches=$branch --no-merges --date=local --show-signature --pretty="* %ad %an %ae %nhash: %H%ncommit:%n%B" | awk -F"-" '{print "- "$0}' | sed 's/- \*/\*/g' | sed 's/- $//g' | sed 's/-/ -/g' | sed 's/[0-9]\{2\}:[0-9]\{2\}:[0-9]\{2\}//g' > $work_path/changelog.txt
diff --git a/readme.md b/readme.md
new file mode 100644
index 0000000..817b05f
--- /dev/null
+++ b/readme.md
@@ -0,0 +1,59 @@
+
+
+ **TCPDUMP_MESA**
+
+fork from tcpdump for MESA sapp platform
+
+------
+
+```
+tcpdump version 4.8.1
+libpcap version 1.8.1
+OpenSSL 1.0.2k-fips 26 Jan 2017
+Usage: tcpdump [-aAbdDefhHIJKlLnNOpqStuUvxX#] [ -B size ] [ -c count ]
+ [ -C file_size ] [ -E algo:secret ] [ -F file ] [ -G seconds ]
+ [ -i interface ] [ -j tstamptype ] [ -M secret ] [ --number ]
+ [ -Q in|out|inout ]
+ [ -r file ] [ -s snaplen ] [ --time-stamp-precision precision ]
+ [ --immediate-mode ] [ -T type ] [ --version ] [ -V file ]
+ [ -w file ] [ -W filecount ] [ -y datalinktype ] [ -z postrotate-command ]
+ [ -Z user ] [ expression ]
+----------------------------------------------------------------------------------------------.
+ The follow args is customized for tcpdump_mesa:
+ [ -a ] enable perceptive mode, can detect loss packet number.
+ [ -g greedy-seek ] enable greedy seek to most inner IP layer, for tunnel, embed protocol.
+ [ -k thread-id ] to assign sapp recv thread id, support multi-range, for example: 1,3,5,7.
+ [ -o offset ] to assign offset from MAC, for skip some low layer data, for example: vxlan=50, mac_in_mac=14.
+ [ -P port ] to assign sapp recv command port.
+ [ --vlan-as-mac-in-mac ] force VLAN to be analysed as MAC-IN-MAC format.
+```
+
+
+
+------
+
+ **2016-11-29 lijia**
+
+����FTP��ʽ, TCP���Ӵ�������, UDP���Ӵ���ʵ�ʲ���.
+
+1. ����򿪱���UDPδ�ö˿�, Ĭ��12345, �类ռ��, ˳�����
+
+2. ��sapp����TCP����, ���ͱ���UDP�����˿�
+
+3. ��sapp���Ͳ�����������, ����BPF-filter�����ַ���
+
+4. ��UDP�˿ڶ�ȡsapp��������ݰ�
+
+5. ����tcpdumpԭ������, ������ӡ��д�ļ�
+
+------
+
+ **2017-08-08 lijia**
+
+1. ����ָ���̺߳Ų�������
+
+------
+
+**2020-09-28** yangwei
+
+1. �Ż�greedy_seekģʽ��Ϊ������DLT_RAW���͵�cbpf���ڴ�IPͷ����ʼƥ����˹��� \ No newline at end of file
diff --git a/readme.txt b/readme.txt
deleted file mode 100644
index 120e131..0000000
--- a/readme.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
---------------------------------------------------------------
- 2016-11-29 lijia,
- ����FTP��ʽ, TCP���Ӵ�������, UDP���Ӵ���ʵ�ʲ���.
- 1-����򿪱���UDPδ�ö˿�, Ĭ��12345, �类ռ��, ˳�����;
- 2-��sapp����TCP����, ���ͱ���UDP�����˿�;
- 3-��sapp���Ͳ�����������, ����BPF-filter�����ַ���,
-
- 4-��UDP�˿ڶ�ȡsapp��������ݰ�;
- 5-����tcpdumpԭ������, ������ӡ��д�ļ���
---------------------------------------------------------------
- 2017-08-08 lijia,
- 1-����ָ���̺߳Ų�������.
-*/ \ No newline at end of file
diff --git a/CHANGES b/src/CHANGES
index 343e549..343e549 100644
--- a/CHANGES
+++ b/src/CHANGES
diff --git a/CREDITS b/src/CREDITS
index c303981..c303981 100644
--- a/CREDITS
+++ b/src/CREDITS
diff --git a/INSTALL.txt b/src/INSTALL.txt
index 39e12f8..39e12f8 100644
--- a/INSTALL.txt
+++ b/src/INSTALL.txt
diff --git a/LICENSE b/src/LICENSE
index dea5f7d..dea5f7d 100644
--- a/LICENSE
+++ b/src/LICENSE
diff --git a/Makefile-devel-adds b/src/Makefile-devel-adds
index 7bf6420..7bf6420 100644
--- a/Makefile-devel-adds
+++ b/src/Makefile-devel-adds
diff --git a/Makefile.in b/src/Makefile.in
index 8f832b2..8f832b2 100644
--- a/Makefile.in
+++ b/src/Makefile.in
diff --git a/README.md b/src/README.md
index c83ffab..c83ffab 100644
--- a/README.md
+++ b/src/README.md
diff --git a/Readme.Win32 b/src/Readme.Win32
index fdf8b12..fdf8b12 100644
--- a/Readme.Win32
+++ b/src/Readme.Win32
diff --git a/VERSION b/src/VERSION
index 697e993..697e993 100644
--- a/VERSION
+++ b/src/VERSION
diff --git a/aclocal.m4 b/src/aclocal.m4
index ca78a02..ca78a02 100644
--- a/aclocal.m4
+++ b/src/aclocal.m4
diff --git a/addrtoname.c b/src/addrtoname.c
index a79aba7..a79aba7 100644
--- a/addrtoname.c
+++ b/src/addrtoname.c
diff --git a/addrtoname.h b/src/addrtoname.h
index 72e5ef1..72e5ef1 100644
--- a/addrtoname.h
+++ b/src/addrtoname.h
diff --git a/addrtostr.c b/src/addrtostr.c
index 1ea792a..1ea792a 100644
--- a/addrtostr.c
+++ b/src/addrtostr.c
diff --git a/addrtostr.h b/src/addrtostr.h
index 2b95a16..2b95a16 100644
--- a/addrtostr.h
+++ b/src/addrtostr.h
diff --git a/af.c b/src/af.c
index 539ede5..539ede5 100644
--- a/af.c
+++ b/src/af.c
diff --git a/af.h b/src/af.h
index bbe1a16..bbe1a16 100644
--- a/af.h
+++ b/src/af.h
diff --git a/ah.h b/src/ah.h
index d87a087..d87a087 100644
--- a/ah.h
+++ b/src/ah.h
diff --git a/appletalk.h b/src/appletalk.h
index 3fbcbce..3fbcbce 100644
--- a/appletalk.h
+++ b/src/appletalk.h
diff --git a/ascii_strcasecmp.c b/src/ascii_strcasecmp.c
index b8decf1..b8decf1 100644
--- a/ascii_strcasecmp.c
+++ b/src/ascii_strcasecmp.c
diff --git a/ascii_strcasecmp.h b/src/ascii_strcasecmp.h
index 7f8ddb9..7f8ddb9 100644
--- a/ascii_strcasecmp.h
+++ b/src/ascii_strcasecmp.h
diff --git a/atime.awk b/src/atime.awk
index b42dec2..b42dec2 100644
--- a/atime.awk
+++ b/src/atime.awk
diff --git a/atm.h b/src/atm.h
index 8d1737e..8d1737e 100644
--- a/atm.h
+++ b/src/atm.h
diff --git a/bpf_dump.c b/src/bpf_dump.c
index 9bad38d..9bad38d 100644
--- a/bpf_dump.c
+++ b/src/bpf_dump.c
diff --git a/chdlc.h b/src/chdlc.h
index d5a2d91..d5a2d91 100644
--- a/chdlc.h
+++ b/src/chdlc.h
diff --git a/checksum.c b/src/checksum.c
index 0829fbe..0829fbe 100644
--- a/checksum.c
+++ b/src/checksum.c
diff --git a/config.guess b/src/config.guess
index 44290b8..44290b8 100644
--- a/config.guess
+++ b/src/config.guess
diff --git a/config.h.in b/src/config.h.in
index 27ba4b1..27ba4b1 100644
--- a/config.h.in
+++ b/src/config.h.in
diff --git a/config.sub b/src/config.sub
index bc855a2..bc855a2 100644
--- a/config.sub
+++ b/src/config.sub
diff --git a/configure b/src/configure
index f5bd200..f5bd200 100644..100755
--- a/configure
+++ b/src/configure
diff --git a/configure.in b/src/configure.in
index d7484ed..d7484ed 100644
--- a/configure.in
+++ b/src/configure.in
diff --git a/cpack.c b/src/cpack.c
index e37d813..e37d813 100644
--- a/cpack.c
+++ b/src/cpack.c
diff --git a/cpack.h b/src/cpack.h
index 3072e0c..3072e0c 100644
--- a/cpack.h
+++ b/src/cpack.h
diff --git a/ether.h b/src/ether.h
index 6491678..6491678 100644
--- a/ether.h
+++ b/src/ether.h
diff --git a/ethertype.h b/src/ethertype.h
index 2aa53a0..2aa53a0 100644
--- a/ethertype.h
+++ b/src/ethertype.h
diff --git a/extract.h b/src/extract.h
index cb62ebd..cb62ebd 100644
--- a/extract.h
+++ b/src/extract.h
diff --git a/getopt_long.h b/src/getopt_long.h
index fbb94e6..fbb94e6 100644
--- a/getopt_long.h
+++ b/src/getopt_long.h
diff --git a/gmpls.c b/src/gmpls.c
index 23515e9..23515e9 100644
--- a/gmpls.c
+++ b/src/gmpls.c
diff --git a/gmpls.h b/src/gmpls.h
index 8b44f94..8b44f94 100644
--- a/gmpls.h
+++ b/src/gmpls.h
diff --git a/gmt2local.c b/src/gmt2local.c
index d6cd93b..d6cd93b 100644
--- a/gmt2local.c
+++ b/src/gmt2local.c
diff --git a/gmt2local.h b/src/gmt2local.h
index 89254df..89254df 100644
--- a/gmt2local.h
+++ b/src/gmt2local.h
diff --git a/in_cksum.c b/src/in_cksum.c
index e9bed22..e9bed22 100644
--- a/in_cksum.c
+++ b/src/in_cksum.c
diff --git a/install-sh b/src/install-sh
index b44de09..b44de09 100644
--- a/install-sh
+++ b/src/install-sh
diff --git a/interface.h b/src/interface.h
index 01de9ea..01de9ea 100644
--- a/interface.h
+++ b/src/interface.h
diff --git a/ip.h b/src/ip.h
index 8179061..8179061 100644
--- a/ip.h
+++ b/src/ip.h
diff --git a/ip6.h b/src/ip6.h
index 2ea1d0a..2ea1d0a 100644
--- a/ip6.h
+++ b/src/ip6.h
diff --git a/ipproto.c b/src/ipproto.c
index bcf2ced..bcf2ced 100644
--- a/ipproto.c
+++ b/src/ipproto.c
diff --git a/ipproto.h b/src/ipproto.h
index 75def3d..75def3d 100644
--- a/ipproto.h
+++ b/src/ipproto.h
diff --git a/l2vpn.c b/src/l2vpn.c
index b870e89..b870e89 100644
--- a/l2vpn.c
+++ b/src/l2vpn.c
diff --git a/l2vpn.h b/src/l2vpn.h
index 151228f..151228f 100644
--- a/l2vpn.h
+++ b/src/l2vpn.h
diff --git a/lbl/os-osf4.h b/src/lbl/os-osf4.h
index 359bf36..359bf36 100644
--- a/lbl/os-osf4.h
+++ b/src/lbl/os-osf4.h
diff --git a/lbl/os-solaris2.h b/src/lbl/os-solaris2.h
index aedba4e..aedba4e 100644
--- a/lbl/os-solaris2.h
+++ b/src/lbl/os-solaris2.h
diff --git a/lbl/os-sunos4.h b/src/lbl/os-sunos4.h
index 0e63270..0e63270 100644
--- a/lbl/os-sunos4.h
+++ b/src/lbl/os-sunos4.h
diff --git a/lbl/os-ultrix4.h b/src/lbl/os-ultrix4.h
index 891def2..891def2 100644
--- a/lbl/os-ultrix4.h
+++ b/src/lbl/os-ultrix4.h
diff --git a/llc.h b/src/llc.h
index ec8d069..ec8d069 100644
--- a/llc.h
+++ b/src/llc.h
diff --git a/machdep.c b/src/machdep.c
index 1f08616..1f08616 100644
--- a/machdep.c
+++ b/src/machdep.c
diff --git a/machdep.h b/src/machdep.h
index ba8ed38..ba8ed38 100644
--- a/machdep.h
+++ b/src/machdep.h
diff --git a/makemib b/src/makemib
index 97e7875..97e7875 100644
--- a/makemib
+++ b/src/makemib
diff --git a/mesa_net.h b/src/mesa_net.h
index ab46da4..ab46da4 100644
--- a/mesa_net.h
+++ b/src/mesa_net.h
diff --git a/mesa_pkt_dump.h b/src/mesa_pkt_dump.h
index 7dedb4b..7dedb4b 100644
--- a/mesa_pkt_dump.h
+++ b/src/mesa_pkt_dump.h
diff --git a/mib.h b/src/mib.h
index 92c6c2c..92c6c2c 100644
--- a/mib.h
+++ b/src/mib.h
diff --git a/missing/datalinks.c b/src/missing/datalinks.c
index 4a7d6fe..4a7d6fe 100644
--- a/missing/datalinks.c
+++ b/src/missing/datalinks.c
diff --git a/missing/dlnames.c b/src/missing/dlnames.c
index 16bfcf7..16bfcf7 100644
--- a/missing/dlnames.c
+++ b/src/missing/dlnames.c
diff --git a/missing/getopt_long.c b/src/missing/getopt_long.c
index 8085736..8085736 100644
--- a/missing/getopt_long.c
+++ b/src/missing/getopt_long.c
diff --git a/missing/snprintf.c b/src/missing/snprintf.c
index 921b74c..921b74c 100644
--- a/missing/snprintf.c
+++ b/src/missing/snprintf.c
diff --git a/missing/strdup.c b/src/missing/strdup.c
index 9cbf35a..9cbf35a 100644
--- a/missing/strdup.c
+++ b/src/missing/strdup.c
diff --git a/missing/strlcat.c b/src/missing/strlcat.c
index 4054935..4054935 100644
--- a/missing/strlcat.c
+++ b/src/missing/strlcat.c
diff --git a/missing/strlcpy.c b/src/missing/strlcpy.c
index 24dcca6..24dcca6 100644
--- a/missing/strlcpy.c
+++ b/src/missing/strlcpy.c
diff --git a/missing/strsep.c b/src/missing/strsep.c
index 2c17275..2c17275 100644
--- a/missing/strsep.c
+++ b/src/missing/strsep.c
diff --git a/mkdep b/src/mkdep
index 1486b18..1486b18 100644
--- a/mkdep
+++ b/src/mkdep
diff --git a/mpls.h b/src/mpls.h
index 03cb4bf..03cb4bf 100644
--- a/mpls.h
+++ b/src/mpls.h
diff --git a/nameser.h b/src/nameser.h
index e075f09..e075f09 100644
--- a/nameser.h
+++ b/src/nameser.h
diff --git a/net_common.c b/src/net_common.c
index fdbb2fa..fdbb2fa 100644
--- a/net_common.c
+++ b/src/net_common.c
diff --git a/netdissect-stdinc.h b/src/netdissect-stdinc.h
index c7070f0..c7070f0 100644
--- a/netdissect-stdinc.h
+++ b/src/netdissect-stdinc.h
diff --git a/netdissect.h b/src/netdissect.h
index 6eae4b4..6eae4b4 100644
--- a/netdissect.h
+++ b/src/netdissect.h
diff --git a/nfs.h b/src/nfs.h
index da7bc50..da7bc50 100644
--- a/nfs.h
+++ b/src/nfs.h
diff --git a/nfsfh.h b/src/nfsfh.h
index cfd073b..cfd073b 100644
--- a/nfsfh.h
+++ b/src/nfsfh.h
diff --git a/nlpid.c b/src/nlpid.c
index 4b44ee1..4b44ee1 100644
--- a/nlpid.c
+++ b/src/nlpid.c
diff --git a/nlpid.h b/src/nlpid.h
index 63a2e70..63a2e70 100644
--- a/nlpid.h
+++ b/src/nlpid.h
diff --git a/openflow.h b/src/openflow.h
index 31ef03c..31ef03c 100644
--- a/openflow.h
+++ b/src/openflow.h
diff --git a/ospf.h b/src/ospf.h
index b47aaf6..b47aaf6 100644
--- a/ospf.h
+++ b/src/ospf.h
diff --git a/oui.c b/src/oui.c
index d00e7c5..d00e7c5 100644
--- a/oui.c
+++ b/src/oui.c
diff --git a/oui.h b/src/oui.h
index 4a983ec..4a983ec 100644
--- a/oui.h
+++ b/src/oui.h
diff --git a/packetdat.awk b/src/packetdat.awk
index 292e219..292e219 100644
--- a/packetdat.awk
+++ b/src/packetdat.awk
diff --git a/parsenfsfh.c b/src/parsenfsfh.c
index a2bfc1c..a2bfc1c 100644
--- a/parsenfsfh.c
+++ b/src/parsenfsfh.c
diff --git a/pcap-missing.h b/src/pcap-missing.h
index 92706b1..92706b1 100644
--- a/pcap-missing.h
+++ b/src/pcap-missing.h
diff --git a/pcap_dump_ftell.c b/src/pcap_dump_ftell.c
index 1b652b5..1b652b5 100644
--- a/pcap_dump_ftell.c
+++ b/src/pcap_dump_ftell.c
diff --git a/ppp.h b/src/ppp.h
index 9d53423..9d53423 100644
--- a/ppp.h
+++ b/src/ppp.h
diff --git a/print-802_11.c b/src/print-802_11.c
index aca6312..aca6312 100644
--- a/print-802_11.c
+++ b/src/print-802_11.c
diff --git a/print-802_15_4.c b/src/print-802_15_4.c
index 4a1ef49..4a1ef49 100644
--- a/print-802_15_4.c
+++ b/src/print-802_15_4.c
diff --git a/print-ah.c b/src/print-ah.c
index 5db28d1..5db28d1 100644
--- a/print-ah.c
+++ b/src/print-ah.c
diff --git a/print-ahcp.c b/src/print-ahcp.c
index 9f95947..9f95947 100644
--- a/print-ahcp.c
+++ b/src/print-ahcp.c
diff --git a/print-aodv.c b/src/print-aodv.c
index db293bb..db293bb 100644
--- a/print-aodv.c
+++ b/src/print-aodv.c
diff --git a/print-aoe.c b/src/print-aoe.c
index d4ac4fb..d4ac4fb 100644
--- a/print-aoe.c
+++ b/src/print-aoe.c
diff --git a/print-ap1394.c b/src/print-ap1394.c
index a7096fb..a7096fb 100644
--- a/print-ap1394.c
+++ b/src/print-ap1394.c
diff --git a/print-arcnet.c b/src/print-arcnet.c
index 6d49c14..6d49c14 100644
--- a/print-arcnet.c
+++ b/src/print-arcnet.c
diff --git a/print-arp.c b/src/print-arp.c
index b007257..b007257 100644
--- a/print-arp.c
+++ b/src/print-arp.c
diff --git a/print-ascii.c b/src/print-ascii.c
index 6fefb96..6fefb96 100644
--- a/print-ascii.c
+++ b/src/print-ascii.c
diff --git a/print-atalk.c b/src/print-atalk.c
index 72fd72a..72fd72a 100644
--- a/print-atalk.c
+++ b/src/print-atalk.c
diff --git a/print-atm.c b/src/print-atm.c
index 7489158..7489158 100644
--- a/print-atm.c
+++ b/src/print-atm.c
diff --git a/print-babel.c b/src/print-babel.c
index f4e62f3..f4e62f3 100644
--- a/print-babel.c
+++ b/src/print-babel.c
diff --git a/print-beep.c b/src/print-beep.c
index 1240a3e..1240a3e 100644
--- a/print-beep.c
+++ b/src/print-beep.c
diff --git a/print-bfd.c b/src/print-bfd.c
index 2950d22..2950d22 100644
--- a/print-bfd.c
+++ b/src/print-bfd.c
diff --git a/print-bgp.c b/src/print-bgp.c
index 09f3fe6..09f3fe6 100644
--- a/print-bgp.c
+++ b/src/print-bgp.c
diff --git a/print-bootp.c b/src/print-bootp.c
index 83fa027..83fa027 100644
--- a/print-bootp.c
+++ b/src/print-bootp.c
diff --git a/print-bt.c b/src/print-bt.c
index 6055e3c..6055e3c 100644
--- a/print-bt.c
+++ b/src/print-bt.c
diff --git a/print-calm-fast.c b/src/print-calm-fast.c
index a1690c0..a1690c0 100644
--- a/print-calm-fast.c
+++ b/src/print-calm-fast.c
diff --git a/print-carp.c b/src/print-carp.c
index eb893e2..eb893e2 100644
--- a/print-carp.c
+++ b/src/print-carp.c
diff --git a/print-cdp.c b/src/print-cdp.c
index cd544ef..cd544ef 100644
--- a/print-cdp.c
+++ b/src/print-cdp.c
diff --git a/print-cfm.c b/src/print-cfm.c
index 2d67e84..2d67e84 100644
--- a/print-cfm.c
+++ b/src/print-cfm.c
diff --git a/print-chdlc.c b/src/print-chdlc.c
index ef22a36..ef22a36 100644
--- a/print-chdlc.c
+++ b/src/print-chdlc.c
diff --git a/print-cip.c b/src/print-cip.c
index 2ea50bc..2ea50bc 100644
--- a/print-cip.c
+++ b/src/print-cip.c
diff --git a/print-cnfp.c b/src/print-cnfp.c
index b1113c9..b1113c9 100644
--- a/print-cnfp.c
+++ b/src/print-cnfp.c
diff --git a/print-dccp.c b/src/print-dccp.c
index 0e30e99..0e30e99 100644
--- a/print-dccp.c
+++ b/src/print-dccp.c
diff --git a/print-decnet.c b/src/print-decnet.c
index cd88dfa..cd88dfa 100644
--- a/print-decnet.c
+++ b/src/print-decnet.c
diff --git a/print-dhcp6.c b/src/print-dhcp6.c
index fc7dbdf..fc7dbdf 100644
--- a/print-dhcp6.c
+++ b/src/print-dhcp6.c
diff --git a/print-domain.c b/src/print-domain.c
index c3066f7..c3066f7 100644
--- a/print-domain.c
+++ b/src/print-domain.c
diff --git a/print-dtp.c b/src/print-dtp.c
index 63bde45..63bde45 100644
--- a/print-dtp.c
+++ b/src/print-dtp.c
diff --git a/print-dvmrp.c b/src/print-dvmrp.c
index 9e9b569..9e9b569 100644
--- a/print-dvmrp.c
+++ b/src/print-dvmrp.c
diff --git a/print-eap.c b/src/print-eap.c
index 4572c8a..4572c8a 100644
--- a/print-eap.c
+++ b/src/print-eap.c
diff --git a/print-egp.c b/src/print-egp.c
index e87d0d6..e87d0d6 100644
--- a/print-egp.c
+++ b/src/print-egp.c
diff --git a/print-eigrp.c b/src/print-eigrp.c
index a56aae7..a56aae7 100644
--- a/print-eigrp.c
+++ b/src/print-eigrp.c
diff --git a/print-enc.c b/src/print-enc.c
index 05775c8..05775c8 100644
--- a/print-enc.c
+++ b/src/print-enc.c
diff --git a/print-esp.c b/src/print-esp.c
index 6afa063..6afa063 100644
--- a/print-esp.c
+++ b/src/print-esp.c
diff --git a/print-ether.c b/src/print-ether.c
index 5583fc6..5583fc6 100644
--- a/print-ether.c
+++ b/src/print-ether.c
diff --git a/print-fddi.c b/src/print-fddi.c
index 49fd2bb..49fd2bb 100644
--- a/print-fddi.c
+++ b/src/print-fddi.c
diff --git a/print-forces.c b/src/print-forces.c
index 4078961..4078961 100644
--- a/print-forces.c
+++ b/src/print-forces.c
diff --git a/print-fr.c b/src/print-fr.c
index 3d2154d..3d2154d 100644
--- a/print-fr.c
+++ b/src/print-fr.c
diff --git a/print-frag6.c b/src/print-frag6.c
index 491b072..491b072 100644
--- a/print-frag6.c
+++ b/src/print-frag6.c
diff --git a/print-ftp.c b/src/print-ftp.c
index 9359139..9359139 100644
--- a/print-ftp.c
+++ b/src/print-ftp.c
diff --git a/print-geneve.c b/src/print-geneve.c
index c4645db..c4645db 100644
--- a/print-geneve.c
+++ b/src/print-geneve.c
diff --git a/print-geonet.c b/src/print-geonet.c
index 420ec5f..420ec5f 100644
--- a/print-geonet.c
+++ b/src/print-geonet.c
diff --git a/print-gre.c b/src/print-gre.c
index 187a5b9..187a5b9 100644
--- a/print-gre.c
+++ b/src/print-gre.c
diff --git a/print-hncp.c b/src/print-hncp.c
index 7bcc749..7bcc749 100644
--- a/print-hncp.c
+++ b/src/print-hncp.c
diff --git a/print-hsrp.c b/src/print-hsrp.c
index b63f319..b63f319 100644
--- a/print-hsrp.c
+++ b/src/print-hsrp.c
diff --git a/print-http.c b/src/print-http.c
index b18b886..b18b886 100644
--- a/print-http.c
+++ b/src/print-http.c
diff --git a/print-icmp.c b/src/print-icmp.c
index d5563db..d5563db 100644
--- a/print-icmp.c
+++ b/src/print-icmp.c
diff --git a/print-icmp6.c b/src/print-icmp6.c
index 25fc98a..25fc98a 100644
--- a/print-icmp6.c
+++ b/src/print-icmp6.c
diff --git a/print-igmp.c b/src/print-igmp.c
index 4b8e82d..4b8e82d 100644
--- a/print-igmp.c
+++ b/src/print-igmp.c
diff --git a/print-igrp.c b/src/print-igrp.c
index 0f36655..0f36655 100644
--- a/print-igrp.c
+++ b/src/print-igrp.c
diff --git a/print-ip.c b/src/print-ip.c
index d64aef7..d64aef7 100644
--- a/print-ip.c
+++ b/src/print-ip.c
diff --git a/print-ip6.c b/src/print-ip6.c
index 3968f33..3968f33 100644
--- a/print-ip6.c
+++ b/src/print-ip6.c
diff --git a/print-ip6opts.c b/src/print-ip6opts.c
index 74f6d0e..74f6d0e 100644
--- a/print-ip6opts.c
+++ b/src/print-ip6opts.c
diff --git a/print-ipcomp.c b/src/print-ipcomp.c
index a6d2525..a6d2525 100644
--- a/print-ipcomp.c
+++ b/src/print-ipcomp.c
diff --git a/print-ipfc.c b/src/print-ipfc.c
index 6907ba3..6907ba3 100644
--- a/print-ipfc.c
+++ b/src/print-ipfc.c
diff --git a/print-ipnet.c b/src/print-ipnet.c
index 7fb2e77..7fb2e77 100644
--- a/print-ipnet.c
+++ b/src/print-ipnet.c
diff --git a/print-ipx.c b/src/print-ipx.c
index 383a84b..383a84b 100644
--- a/print-ipx.c
+++ b/src/print-ipx.c
diff --git a/print-isakmp.c b/src/print-isakmp.c
index dcf2ea4..dcf2ea4 100644
--- a/print-isakmp.c
+++ b/src/print-isakmp.c
diff --git a/print-isoclns.c b/src/print-isoclns.c
index 2cbb330..2cbb330 100644
--- a/print-isoclns.c
+++ b/src/print-isoclns.c
diff --git a/print-juniper.c b/src/print-juniper.c
index 94151c8..94151c8 100644
--- a/print-juniper.c
+++ b/src/print-juniper.c
diff --git a/print-krb.c b/src/print-krb.c
index a0f2678..a0f2678 100644
--- a/print-krb.c
+++ b/src/print-krb.c
diff --git a/print-l2tp.c b/src/print-l2tp.c
index 4ce38b2..4ce38b2 100644
--- a/print-l2tp.c
+++ b/src/print-l2tp.c
diff --git a/print-lane.c b/src/print-lane.c
index 9fb67b8..9fb67b8 100644
--- a/print-lane.c
+++ b/src/print-lane.c
diff --git a/print-ldp.c b/src/print-ldp.c
index 45a23fe..45a23fe 100644
--- a/print-ldp.c
+++ b/src/print-ldp.c
diff --git a/print-lisp.c b/src/print-lisp.c
index e9a2bc1..e9a2bc1 100644
--- a/print-lisp.c
+++ b/src/print-lisp.c
diff --git a/print-llc.c b/src/print-llc.c
index aaaac8e..aaaac8e 100644
--- a/print-llc.c
+++ b/src/print-llc.c
diff --git a/print-lldp.c b/src/print-lldp.c
index a0ca700..a0ca700 100644
--- a/print-lldp.c
+++ b/src/print-lldp.c
diff --git a/print-lmp.c b/src/print-lmp.c
index 30edfc7..30edfc7 100644
--- a/print-lmp.c
+++ b/src/print-lmp.c
diff --git a/print-loopback.c b/src/print-loopback.c
index 2d5fca5..2d5fca5 100644
--- a/print-loopback.c
+++ b/src/print-loopback.c
diff --git a/print-lspping.c b/src/print-lspping.c
index 3e48504..3e48504 100644
--- a/print-lspping.c
+++ b/src/print-lspping.c
diff --git a/print-lwapp.c b/src/print-lwapp.c
index 447ca60..447ca60 100644
--- a/print-lwapp.c
+++ b/src/print-lwapp.c
diff --git a/print-lwres.c b/src/print-lwres.c
index 7dea033..7dea033 100644
--- a/print-lwres.c
+++ b/src/print-lwres.c
diff --git a/print-m3ua.c b/src/print-m3ua.c
index e4de713..e4de713 100644
--- a/print-m3ua.c
+++ b/src/print-m3ua.c
diff --git a/print-medsa.c b/src/print-medsa.c
index a29bf4a..a29bf4a 100644
--- a/print-medsa.c
+++ b/src/print-medsa.c
diff --git a/print-mobile.c b/src/print-mobile.c
index 885e4dd..885e4dd 100644
--- a/print-mobile.c
+++ b/src/print-mobile.c
diff --git a/print-mobility.c b/src/print-mobility.c
index 85aa5bb..85aa5bb 100644
--- a/print-mobility.c
+++ b/src/print-mobility.c
diff --git a/print-mpcp.c b/src/print-mpcp.c
index 5bd0466..5bd0466 100644
--- a/print-mpcp.c
+++ b/src/print-mpcp.c
diff --git a/print-mpls.c b/src/print-mpls.c
index 504ce19..504ce19 100644
--- a/print-mpls.c
+++ b/src/print-mpls.c
diff --git a/print-mptcp.c b/src/print-mptcp.c
index c711754..c711754 100644
--- a/print-mptcp.c
+++ b/src/print-mptcp.c
diff --git a/print-msdp.c b/src/print-msdp.c
index 624ffdd..624ffdd 100644
--- a/print-msdp.c
+++ b/src/print-msdp.c
diff --git a/print-msnlb.c b/src/print-msnlb.c
index d4f6603..d4f6603 100644
--- a/print-msnlb.c
+++ b/src/print-msnlb.c
diff --git a/print-nflog.c b/src/print-nflog.c
index 0eefd34..0eefd34 100644
--- a/print-nflog.c
+++ b/src/print-nflog.c
diff --git a/print-nfs.c b/src/print-nfs.c
index 84884aa..84884aa 100644
--- a/print-nfs.c
+++ b/src/print-nfs.c
diff --git a/print-nsh.c b/src/print-nsh.c
index 1a27b71..1a27b71 100644
--- a/print-nsh.c
+++ b/src/print-nsh.c
diff --git a/print-ntp.c b/src/print-ntp.c
index 0ba6219..0ba6219 100644
--- a/print-ntp.c
+++ b/src/print-ntp.c
diff --git a/print-null.c b/src/print-null.c
index 6e05a13..6e05a13 100644
--- a/print-null.c
+++ b/src/print-null.c
diff --git a/print-olsr.c b/src/print-olsr.c
index 2473dfe..2473dfe 100644
--- a/print-olsr.c
+++ b/src/print-olsr.c
diff --git a/print-openflow-1.0.c b/src/print-openflow-1.0.c
index a1b9f1e..a1b9f1e 100644
--- a/print-openflow-1.0.c
+++ b/src/print-openflow-1.0.c
diff --git a/print-openflow.c b/src/print-openflow.c
index 07f15de..07f15de 100644
--- a/print-openflow.c
+++ b/src/print-openflow.c
diff --git a/print-ospf.c b/src/print-ospf.c
index 0e84e58..0e84e58 100644
--- a/print-ospf.c
+++ b/src/print-ospf.c
diff --git a/print-ospf6.c b/src/print-ospf6.c
index 69f337c..69f337c 100644
--- a/print-ospf6.c
+++ b/src/print-ospf6.c
diff --git a/print-otv.c b/src/print-otv.c
index 3490d06..3490d06 100644
--- a/print-otv.c
+++ b/src/print-otv.c
diff --git a/print-pflog.c b/src/print-pflog.c
index 9815dc5..9815dc5 100644
--- a/print-pflog.c
+++ b/src/print-pflog.c
diff --git a/print-pgm.c b/src/print-pgm.c
index 0d5685d..0d5685d 100644
--- a/print-pgm.c
+++ b/src/print-pgm.c
diff --git a/print-pim.c b/src/print-pim.c
index c93f165..c93f165 100644
--- a/print-pim.c
+++ b/src/print-pim.c
diff --git a/print-pktap.c b/src/print-pktap.c
index a49421b..a49421b 100644
--- a/print-pktap.c
+++ b/src/print-pktap.c
diff --git a/print-ppi.c b/src/print-ppi.c
index 3957154..3957154 100644
--- a/print-ppi.c
+++ b/src/print-ppi.c
diff --git a/print-ppp.c b/src/print-ppp.c
index 078f6a5..078f6a5 100644
--- a/print-ppp.c
+++ b/src/print-ppp.c
diff --git a/print-pppoe.c b/src/print-pppoe.c
index a6c1c62..a6c1c62 100644
--- a/print-pppoe.c
+++ b/src/print-pppoe.c
diff --git a/print-pptp.c b/src/print-pptp.c
index 5083015..5083015 100644
--- a/print-pptp.c
+++ b/src/print-pptp.c
diff --git a/print-radius.c b/src/print-radius.c
index d89e3b8..d89e3b8 100644
--- a/print-radius.c
+++ b/src/print-radius.c
diff --git a/print-raw.c b/src/print-raw.c
index a89af5b..a89af5b 100644
--- a/print-raw.c
+++ b/src/print-raw.c
diff --git a/print-resp.c b/src/print-resp.c
index 5e36eda..5e36eda 100644
--- a/print-resp.c
+++ b/src/print-resp.c
diff --git a/print-rip.c b/src/print-rip.c
index f9272d4..f9272d4 100644
--- a/print-rip.c
+++ b/src/print-rip.c
diff --git a/print-ripng.c b/src/print-ripng.c
index 9bda0fd..9bda0fd 100644
--- a/print-ripng.c
+++ b/src/print-ripng.c
diff --git a/print-rpki-rtr.c b/src/print-rpki-rtr.c
index 569bc4e..569bc4e 100644
--- a/print-rpki-rtr.c
+++ b/src/print-rpki-rtr.c
diff --git a/print-rrcp.c b/src/print-rrcp.c
index f351877..f351877 100644
--- a/print-rrcp.c
+++ b/src/print-rrcp.c
diff --git a/print-rsvp.c b/src/print-rsvp.c
index fa57103..fa57103 100644
--- a/print-rsvp.c
+++ b/src/print-rsvp.c
diff --git a/print-rt6.c b/src/print-rt6.c
index 7323c72..7323c72 100644
--- a/print-rt6.c
+++ b/src/print-rt6.c
diff --git a/print-rtsp.c b/src/print-rtsp.c
index 7b6edb6..7b6edb6 100644
--- a/print-rtsp.c
+++ b/src/print-rtsp.c
diff --git a/print-rx.c b/src/print-rx.c
index 516c387..516c387 100644
--- a/print-rx.c
+++ b/src/print-rx.c
diff --git a/print-sctp.c b/src/print-sctp.c
index b092d77..b092d77 100644
--- a/print-sctp.c
+++ b/src/print-sctp.c
diff --git a/print-sflow.c b/src/print-sflow.c
index 7eecf0a..7eecf0a 100644
--- a/print-sflow.c
+++ b/src/print-sflow.c
diff --git a/print-sip.c b/src/print-sip.c
index cbe298c..cbe298c 100644
--- a/print-sip.c
+++ b/src/print-sip.c
diff --git a/print-sl.c b/src/print-sl.c
index b69a07d..b69a07d 100644
--- a/print-sl.c
+++ b/src/print-sl.c
diff --git a/print-sll.c b/src/print-sll.c
index 1d1a3d1..1d1a3d1 100644
--- a/print-sll.c
+++ b/src/print-sll.c
diff --git a/print-slow.c b/src/print-slow.c
index 7e83d16..7e83d16 100644
--- a/print-slow.c
+++ b/src/print-slow.c
diff --git a/print-smb.c b/src/print-smb.c
index 0147b20..0147b20 100644
--- a/print-smb.c
+++ b/src/print-smb.c
diff --git a/print-smtp.c b/src/print-smtp.c
index 56109bd..56109bd 100644
--- a/print-smtp.c
+++ b/src/print-smtp.c
diff --git a/print-snmp.c b/src/print-snmp.c
index a2aa074..a2aa074 100644
--- a/print-snmp.c
+++ b/src/print-snmp.c
diff --git a/print-stp.c b/src/print-stp.c
index 47089e5..47089e5 100644
--- a/print-stp.c
+++ b/src/print-stp.c
diff --git a/print-sunatm.c b/src/print-sunatm.c
index fad2859..fad2859 100644
--- a/print-sunatm.c
+++ b/src/print-sunatm.c
diff --git a/print-sunrpc.c b/src/print-sunrpc.c
index 2394dd0..2394dd0 100644
--- a/print-sunrpc.c
+++ b/src/print-sunrpc.c
diff --git a/print-symantec.c b/src/print-symantec.c
index 15653ab..15653ab 100644
--- a/print-symantec.c
+++ b/src/print-symantec.c
diff --git a/print-syslog.c b/src/print-syslog.c
index 08407d5..08407d5 100644
--- a/print-syslog.c
+++ b/src/print-syslog.c
diff --git a/print-tcp.c b/src/print-tcp.c
index 043d9b6..043d9b6 100644
--- a/print-tcp.c
+++ b/src/print-tcp.c
diff --git a/print-telnet.c b/src/print-telnet.c
index e01e91b..e01e91b 100644
--- a/print-telnet.c
+++ b/src/print-telnet.c
diff --git a/print-tftp.c b/src/print-tftp.c
index e7201eb..e7201eb 100644
--- a/print-tftp.c
+++ b/src/print-tftp.c
diff --git a/print-timed.c b/src/print-timed.c
index a1cd89e..a1cd89e 100644
--- a/print-timed.c
+++ b/src/print-timed.c
diff --git a/print-tipc.c b/src/print-tipc.c
index 2809d07..2809d07 100644
--- a/print-tipc.c
+++ b/src/print-tipc.c
diff --git a/print-token.c b/src/print-token.c
index 6f9950d..6f9950d 100644
--- a/print-token.c
+++ b/src/print-token.c
diff --git a/print-udld.c b/src/print-udld.c
index 22ae338..22ae338 100644
--- a/print-udld.c
+++ b/src/print-udld.c
diff --git a/print-udp.c b/src/print-udp.c
index 26735f3..26735f3 100644
--- a/print-udp.c
+++ b/src/print-udp.c
diff --git a/print-usb.c b/src/print-usb.c
index 52231a0..52231a0 100644
--- a/print-usb.c
+++ b/src/print-usb.c
diff --git a/print-vjc.c b/src/print-vjc.c
index 0f37924..0f37924 100644
--- a/print-vjc.c
+++ b/src/print-vjc.c
diff --git a/print-vqp.c b/src/print-vqp.c
index 7614011..7614011 100644
--- a/print-vqp.c
+++ b/src/print-vqp.c
diff --git a/print-vrrp.c b/src/print-vrrp.c
index a6e2314..a6e2314 100644
--- a/print-vrrp.c
+++ b/src/print-vrrp.c
diff --git a/print-vtp.c b/src/print-vtp.c
index 854bc49..854bc49 100644
--- a/print-vtp.c
+++ b/src/print-vtp.c
diff --git a/print-vxlan-gpe.c b/src/print-vxlan-gpe.c
index 92be1e2..92be1e2 100644
--- a/print-vxlan-gpe.c
+++ b/src/print-vxlan-gpe.c
diff --git a/print-vxlan.c b/src/print-vxlan.c
index 8314aa7..8314aa7 100644
--- a/print-vxlan.c
+++ b/src/print-vxlan.c
diff --git a/print-wb.c b/src/print-wb.c
index 6ad912e..6ad912e 100644
--- a/print-wb.c
+++ b/src/print-wb.c
diff --git a/print-zephyr.c b/src/print-zephyr.c
index 71ca9e3..71ca9e3 100644
--- a/print-zephyr.c
+++ b/src/print-zephyr.c
diff --git a/print-zeromq.c b/src/print-zeromq.c
index 661b973..661b973 100644
--- a/print-zeromq.c
+++ b/src/print-zeromq.c
diff --git a/print.c b/src/print.c
index 20e62fe..20e62fe 100644
--- a/print.c
+++ b/src/print.c
diff --git a/print.h b/src/print.h
index 9632694..9632694 100644
--- a/print.h
+++ b/src/print.h
diff --git a/rpc_auth.h b/src/rpc_auth.h
index 3cc9b30..3cc9b30 100644
--- a/rpc_auth.h
+++ b/src/rpc_auth.h
diff --git a/rpc_msg.h b/src/rpc_msg.h
index 88e7319..88e7319 100644
--- a/rpc_msg.h
+++ b/src/rpc_msg.h
diff --git a/rpl.h b/src/rpl.h
index 5ad074b..5ad074b 100644
--- a/rpl.h
+++ b/src/rpl.h
diff --git a/send-ack.awk b/src/send-ack.awk
index f55b7c2..f55b7c2 100644
--- a/send-ack.awk
+++ b/src/send-ack.awk
diff --git a/setsignal.c b/src/setsignal.c
index 4d93ceb..4d93ceb 100644
--- a/setsignal.c
+++ b/src/setsignal.c
diff --git a/setsignal.h b/src/setsignal.h
index 91a2048..91a2048 100644
--- a/setsignal.h
+++ b/src/setsignal.h
diff --git a/signature.c b/src/signature.c
index c97b853..c97b853 100644
--- a/signature.c
+++ b/src/signature.c
diff --git a/signature.h b/src/signature.h
index 239ee3e..239ee3e 100644
--- a/signature.h
+++ b/src/signature.h
diff --git a/slcompress.h b/src/slcompress.h
index 644c755..644c755 100644
--- a/slcompress.h
+++ b/src/slcompress.h
diff --git a/smb.h b/src/smb.h
index b521617..b521617 100644
--- a/smb.h
+++ b/src/smb.h
diff --git a/smbutil.c b/src/smbutil.c
index b38d73a..b38d73a 100644
--- a/smbutil.c
+++ b/src/smbutil.c
diff --git a/stime.awk b/src/stime.awk
index 61891f2..61891f2 100644
--- a/stime.awk
+++ b/src/stime.awk
diff --git a/stream_base.h b/src/stream_base.h
index 2311cee..2311cee 100644
--- a/stream_base.h
+++ b/src/stream_base.h
diff --git a/strtoaddr.c b/src/strtoaddr.c
index f325401..f325401 100644
--- a/strtoaddr.c
+++ b/src/strtoaddr.c
diff --git a/strtoaddr.h b/src/strtoaddr.h
index 8bd22c7..8bd22c7 100644
--- a/strtoaddr.h
+++ b/src/strtoaddr.h
diff --git a/tcp.h b/src/tcp.h
index a76b9e5..a76b9e5 100644
--- a/tcp.h
+++ b/src/tcp.h
diff --git a/tcpdump.1.in b/src/tcpdump.1.in
index 2de8daa..2de8daa 100644
--- a/tcpdump.1.in
+++ b/src/tcpdump.1.in
diff --git a/tcpdump.c b/src/tcpdump.c
index ae20036..8029e28 100644
--- a/tcpdump.c
+++ b/src/tcpdump.c
@@ -44,7 +44,6 @@
#define MESA_DUMP (1)
#if MESA_DUMP
#include "mesa_pkt_dump.h"
-const int tcpdump_mesa_version_VERSION_20181114 = 20181114;
int tcpdump_data_offset = 0; /* 用于跳过某些底层数据, 如vxlan, 可以直接获取或设置过滤条件看vxlan的内层数据包内容 */
unsigned char tcpdump_thread_index_array[64]; /* 开启捕包线程id数组, 靠长度决定id数量, 每个占1字节, 命令行输入支持逗号分隔 */
int tcpdump_thread_index_array_num = 0;
@@ -151,6 +150,12 @@ The Regents of the University of California. All rights reserved.\n";
#include "print.h"
+#ifdef GIT_VERSION
+const char *tcpdump_mesa_version = (const char *)GIT_VERSION;
+#else
+const char *tcpdump_mesa_version = "GIT_VERSION_UNKNOWN";
+#endif
+
#ifndef PATH_MAX
#define PATH_MAX 1024
#endif
@@ -986,7 +991,7 @@ static int pkt_dump_recv_ack(int connfd)
*/
static void *detect_sapp_alive_thread(void *arg)
{
- int tcp_cmd_fd = (int)arg;
+ int tcp_cmd_fd = (int)(long)arg;
int ret;
char nouse_buf[1500];
@@ -1156,7 +1161,7 @@ static int MESA_dump_start(unsigned short udp_rcv_port, unsigned short sapp_cmd_
exit(1);
}
- pthread_create(&pid, NULL, detect_sapp_alive_thread, (void *)tcp_cmd_fd);
+ pthread_create(&pid, NULL, detect_sapp_alive_thread, (void *)(long)tcp_cmd_fd);
return tcp_cmd_fd;
}
@@ -1272,6 +1277,7 @@ static void MESA_dump(pcap_handler callback, u_char *pcap_userdata, char *filter
/* 如果有-g参数, 且写了-w, 即需要保存原始包到文件, 则不进行seek操作,
只是在没有-w 参数时, 让tcpdump能打印出包的信息, 才进行seek操作.
*/
+ #if 0
if((greedy_seek_flag != 0) && (dump_to_file_flag == 0)){
inner_pkt_len = MESA_dump_seek_to_inner(pkt_buf, pkt_len);
if(inner_pkt_len < 0){
@@ -1283,6 +1289,10 @@ static void MESA_dump(pcap_handler callback, u_char *pcap_userdata, char *filter
phony_pcap_hdr.caplen = pkt_len;
phony_pcap_hdr.len = pkt_len;
}
+ #else
+ phony_pcap_hdr.caplen = pkt_len;
+ phony_pcap_hdr.len = pkt_len;
+ #endif
gettimeofday(&phony_pcap_hdr.ts, NULL);
callback(pcap_userdata, &phony_pcap_hdr, pkt_buf); /* NOTE: 刷屏模式调用print_packet(); 捕包模式调用: dump_packet() */
@@ -1305,7 +1315,6 @@ done:
#endif
static struct bpf_program fcode; /* lijia modify, 做为全局变量, 其他函数中调用 */
-
int
main(int argc, char **argv)
{
@@ -2274,6 +2283,15 @@ main(int argc, char **argv)
if (pcap_setfilter(pd, &fcode) < 0)
error("%s", pcap_geterr(pd));
}
+ else
+ {
+ pcap_freecode(&fcode);
+ if(pcap_compile_nopcap(Oflag, DLT_RAW, &fcode, cmdbuf, 0, netmask) < 0){
+ printf("Compile pcap filter %s error\n", cmdbuf);
+ return -1;
+ }
+ }
+
#else
if (pcap_setfilter(pd, &fcode) < 0)
error("%s", pcap_geterr(pd));
@@ -2948,20 +2966,45 @@ dump_packet(u_char *user, const struct pcap_pkthdr *h, const u_char *sp)
static void
MESA_dump_packet(u_char *user, const struct pcap_pkthdr *h, const u_char *raw_pkt)
{
- char modify_pkt_buf[2048];
+ //char modify_pkt_buf[2048];
int inner_pkt_len;
++packets_captured;
++infodelay;
- memcpy(modify_pkt_buf, raw_pkt, h->caplen >= 2048? 2048:h->caplen);
- inner_pkt_len = MESA_dump_seek_to_inner(modify_pkt_buf, h->caplen);
- if(inner_pkt_len < 0){
- return;
+ //memcpy(modify_pkt_buf, raw_pkt, h->caplen >= 2048? 2048:h->caplen);
+ //inner_pkt_len = MESA_dump_seek_to_inner(modify_pkt_buf, h->caplen);
+ //if(inner_pkt_len < 0){
+ // return;
+ //}
+ struct mesa_ip4_hdr *ip4hdr_greedy;
+ struct mesa_ip6_hdr *ip6hdr_greedy;
+ const unsigned char *inner_iphdr = NULL;
+ ip4hdr_greedy = (struct mesa_ip4_hdr *)MESA_net_jump_to_layer_greedy(raw_pkt, ADDR_TYPE_MAC, __ADDR_TYPE_IP_PAIR_V4);
+ if(ip4hdr_greedy)
+ {
+ inner_iphdr = (const unsigned char *)ip4hdr_greedy;
+ inner_pkt_len = h->caplen - ((const u_char *)ip4hdr_greedy - raw_pkt) ;
}
+ else
+ {
+ ip6hdr_greedy = (struct mesa_ip6_hdr *)MESA_net_jump_to_layer_greedy(raw_pkt, ADDR_TYPE_MAC, __ADDR_TYPE_IP_PAIR_V6);
+ if(ip6hdr_greedy)
+ {
+ inner_iphdr = (const unsigned char *)ip6hdr_greedy;
+ inner_pkt_len = h->caplen - ((const u_char *)ip6hdr_greedy - raw_pkt);
+ }
+ else
+ {
+ return;
+ }
+
+ }
+
+
if(has_bpf_filter_flag != 0){
if(0 == bpf_filter(fcode.bf_insns,
- (const unsigned char *)modify_pkt_buf, inner_pkt_len, inner_pkt_len)){
+ (const unsigned char *)inner_iphdr, inner_pkt_len, inner_pkt_len)){
return;
}
}
@@ -2999,6 +3042,7 @@ MESA_dump_print_packet(u_char *user, const struct pcap_pkthdr *h, const u_char *
{
int inner_pkt_len;
+#if 0
/* 此函数仅用于tcpdump屏幕打印, 直接修改pkt原始包, 避免再copy一次, 节约点CPU */
inner_pkt_len = MESA_dump_seek_to_inner(pkt, h->caplen);
if(inner_pkt_len < 0){
@@ -3015,7 +3059,41 @@ MESA_dump_print_packet(u_char *user, const struct pcap_pkthdr *h, const u_char *
/* 改为新的修改后的数据包长度 */
((struct pcap_pkthdr *)h)->caplen = (unsigned int)inner_pkt_len;
((struct pcap_pkthdr *)h)->len = (unsigned int)inner_pkt_len;
+#else
+ struct mesa_ip4_hdr *ip4hdr_greedy;
+ struct mesa_ip6_hdr *ip6hdr_greedy;
+ const unsigned char *inner_iphdr = NULL;
+ ip4hdr_greedy = (struct mesa_ip4_hdr *)MESA_net_jump_to_layer_greedy(pkt, ADDR_TYPE_MAC, __ADDR_TYPE_IP_PAIR_V4);
+ if(ip4hdr_greedy)
+ {
+ inner_iphdr = (const unsigned char *)ip4hdr_greedy;
+ inner_pkt_len = h->caplen - ((const unsigned char *)ip4hdr_greedy - pkt);
+ }
+ else
+ {
+ ip6hdr_greedy = (struct mesa_ip6_hdr *)MESA_net_jump_to_layer_greedy(pkt, ADDR_TYPE_MAC, __ADDR_TYPE_IP_PAIR_V6);
+ if(ip6hdr_greedy)
+ {
+ inner_iphdr = (const unsigned char *)ip6hdr_greedy;
+ inner_pkt_len = h->caplen - ((const unsigned char *)ip6hdr_greedy - pkt);
+ }
+ else
+ {
+ return;
+ }
+
+ }
+ if (has_bpf_filter_flag != 0)
+ {
+ if (0 == bpf_filter(fcode.bf_insns,
+ (const unsigned char *)inner_iphdr, inner_pkt_len, inner_pkt_len))
+ {
+ return;
+ }
+ }
+
+#endif
print_packet(user, h, pkt);
}
@@ -3150,7 +3228,7 @@ print_usage(void)
(void)fprintf(stderr,
"----------------------------------------------------------------------------------------------.\n");
(void)fprintf(stderr,
-"\t\tThe follow args is customized for tcpdump_mesa(%d):\n", tcpdump_mesa_version_VERSION_20181114);
+"\t\tThe follow args is customized for tcpdump_mesa(%s):\n", tcpdump_mesa_version);
(void)fprintf(stderr,
"\t\t[ -a ] enable perceptive mode, can detect loss packet number.\n");
(void)fprintf(stderr,
diff --git a/tests/02-sunrise-sunset-esp.pcap b/src/tests/02-sunrise-sunset-esp.pcap
index e52af98..e52af98 100644
--- a/tests/02-sunrise-sunset-esp.pcap
+++ b/src/tests/02-sunrise-sunset-esp.pcap
Binary files differ
diff --git a/tests/08-sunrise-sunset-aes.pcap b/src/tests/08-sunrise-sunset-aes.pcap
index 1ebe3de..1ebe3de 100644
--- a/tests/08-sunrise-sunset-aes.pcap
+++ b/src/tests/08-sunrise-sunset-aes.pcap
Binary files differ
diff --git a/tests/08-sunrise-sunset-esp2.pcap b/src/tests/08-sunrise-sunset-esp2.pcap
index c3e54cb..c3e54cb 100644
--- a/tests/08-sunrise-sunset-esp2.pcap
+++ b/src/tests/08-sunrise-sunset-esp2.pcap
Binary files differ
diff --git a/tests/3560_CDP.pcap b/src/tests/3560_CDP.pcap
index f29fd50..f29fd50 100644
--- a/tests/3560_CDP.pcap
+++ b/src/tests/3560_CDP.pcap
Binary files differ
diff --git a/tests/802.1D_spanning_tree.pcap b/src/tests/802.1D_spanning_tree.pcap
index b21f71c..b21f71c 100644
--- a/tests/802.1D_spanning_tree.pcap
+++ b/src/tests/802.1D_spanning_tree.pcap
Binary files differ
diff --git a/tests/802.1w_rapid_STP.pcap b/src/tests/802.1w_rapid_STP.pcap
index db85a45..db85a45 100644
--- a/tests/802.1w_rapid_STP.pcap
+++ b/src/tests/802.1w_rapid_STP.pcap
Binary files differ
diff --git a/tests/AoE_Linux.pcap b/src/tests/AoE_Linux.pcap
index de5c744..de5c744 100644
--- a/tests/AoE_Linux.pcap
+++ b/src/tests/AoE_Linux.pcap
Binary files differ
diff --git a/tests/DECnet_Phone.pcap b/src/tests/DECnet_Phone.pcap
index 20ff167..20ff167 100644
--- a/tests/DECnet_Phone.pcap
+++ b/src/tests/DECnet_Phone.pcap
Binary files differ
diff --git a/tests/DTP.pcap b/src/tests/DTP.pcap
index 9f0c5f4..9f0c5f4 100644
--- a/tests/DTP.pcap
+++ b/src/tests/DTP.pcap
Binary files differ
diff --git a/tests/EIGRP_adjacency.pcap b/src/tests/EIGRP_adjacency.pcap
index a0966b6..a0966b6 100644
--- a/tests/EIGRP_adjacency.pcap
+++ b/src/tests/EIGRP_adjacency.pcap
Binary files differ
diff --git a/tests/EIGRP_goodbye.pcap b/src/tests/EIGRP_goodbye.pcap
index 6a73f5d..6a73f5d 100644
--- a/tests/EIGRP_goodbye.pcap
+++ b/src/tests/EIGRP_goodbye.pcap
Binary files differ
diff --git a/tests/EIGRP_subnet_down.pcap b/src/tests/EIGRP_subnet_down.pcap
index a85579d..a85579d 100644
--- a/tests/EIGRP_subnet_down.pcap
+++ b/src/tests/EIGRP_subnet_down.pcap
Binary files differ
diff --git a/tests/EIGRP_subnet_up.pcap b/src/tests/EIGRP_subnet_up.pcap
index 49f53ef..49f53ef 100644
--- a/tests/EIGRP_subnet_up.pcap
+++ b/src/tests/EIGRP_subnet_up.pcap
Binary files differ
diff --git a/tests/HDLC.pcap b/src/tests/HDLC.pcap
index 0d94d3f..0d94d3f 100644
--- a/tests/HDLC.pcap
+++ b/src/tests/HDLC.pcap
Binary files differ
diff --git a/tests/HSRP_coup.pcap b/src/tests/HSRP_coup.pcap
index 41f8ef0..41f8ef0 100644
--- a/tests/HSRP_coup.pcap
+++ b/src/tests/HSRP_coup.pcap
Binary files differ
diff --git a/tests/HSRP_election.pcap b/src/tests/HSRP_election.pcap
index 72ccdfb..72ccdfb 100644
--- a/tests/HSRP_election.pcap
+++ b/src/tests/HSRP_election.pcap
Binary files differ
diff --git a/tests/HSRP_failover.pcap b/src/tests/HSRP_failover.pcap
index cad4e61..cad4e61 100644
--- a/tests/HSRP_failover.pcap
+++ b/src/tests/HSRP_failover.pcap
Binary files differ
diff --git a/tests/IGMP_V1.pcap b/src/tests/IGMP_V1.pcap
index 2a6e90d..2a6e90d 100644
--- a/tests/IGMP_V1.pcap
+++ b/src/tests/IGMP_V1.pcap
Binary files differ
diff --git a/tests/IGMP_V2.pcap b/src/tests/IGMP_V2.pcap
index 6d1d8db..6d1d8db 100644
--- a/tests/IGMP_V2.pcap
+++ b/src/tests/IGMP_V2.pcap
Binary files differ
diff --git a/tests/ISAKMP_sa_setup.pcap b/src/tests/ISAKMP_sa_setup.pcap
index 28c5d61..28c5d61 100644
--- a/tests/ISAKMP_sa_setup.pcap
+++ b/src/tests/ISAKMP_sa_setup.pcap
Binary files differ
diff --git a/tests/ISIS_external_lsp.pcap b/src/tests/ISIS_external_lsp.pcap
index 5fbf975..5fbf975 100644
--- a/tests/ISIS_external_lsp.pcap
+++ b/src/tests/ISIS_external_lsp.pcap
Binary files differ
diff --git a/tests/ISIS_level1_adjacency.pcap b/src/tests/ISIS_level1_adjacency.pcap
index 9614218..9614218 100644
--- a/tests/ISIS_level1_adjacency.pcap
+++ b/src/tests/ISIS_level1_adjacency.pcap
Binary files differ
diff --git a/tests/ISIS_level2_adjacency.pcap b/src/tests/ISIS_level2_adjacency.pcap
index 9d8a329..9d8a329 100644
--- a/tests/ISIS_level2_adjacency.pcap
+++ b/src/tests/ISIS_level2_adjacency.pcap
Binary files differ
diff --git a/tests/ISIS_p2p_adjacency.pcap b/src/tests/ISIS_p2p_adjacency.pcap
index a065ad7..a065ad7 100644
--- a/tests/ISIS_p2p_adjacency.pcap
+++ b/src/tests/ISIS_p2p_adjacency.pcap
Binary files differ
diff --git a/tests/LACP.pcap b/src/tests/LACP.pcap
index 9681961..9681961 100644
--- a/tests/LACP.pcap
+++ b/src/tests/LACP.pcap
Binary files differ
diff --git a/tests/LLDP_and_CDP.pcap b/src/tests/LLDP_and_CDP.pcap
index ebbf49e..ebbf49e 100644
--- a/tests/LLDP_and_CDP.pcap
+++ b/src/tests/LLDP_and_CDP.pcap
Binary files differ
diff --git a/tests/MSTP_Intra-Region_BPDUs.pcap b/src/tests/MSTP_Intra-Region_BPDUs.pcap
index 559b234..559b234 100644
--- a/tests/MSTP_Intra-Region_BPDUs.pcap
+++ b/src/tests/MSTP_Intra-Region_BPDUs.pcap
Binary files differ
diff --git a/tests/OLSRv1_HNA_sgw_1.out b/src/tests/OLSRv1_HNA_sgw_1.out
index 0f41cdc..0f41cdc 100644
--- a/tests/OLSRv1_HNA_sgw_1.out
+++ b/src/tests/OLSRv1_HNA_sgw_1.out
diff --git a/tests/OLSRv1_HNA_sgw_1.pcap b/src/tests/OLSRv1_HNA_sgw_1.pcap
index f975d8f..f975d8f 100644
--- a/tests/OLSRv1_HNA_sgw_1.pcap
+++ b/src/tests/OLSRv1_HNA_sgw_1.pcap
Binary files differ
diff --git a/tests/OSPFv3_NBMA_adjacencies.pcap b/src/tests/OSPFv3_NBMA_adjacencies.pcap
index 7aa8fae..7aa8fae 100644
--- a/tests/OSPFv3_NBMA_adjacencies.pcap
+++ b/src/tests/OSPFv3_NBMA_adjacencies.pcap
Binary files differ
diff --git a/tests/OSPFv3_broadcast_adjacency.pcap b/src/tests/OSPFv3_broadcast_adjacency.pcap
index 15cb2dd..15cb2dd 100644
--- a/tests/OSPFv3_broadcast_adjacency.pcap
+++ b/src/tests/OSPFv3_broadcast_adjacency.pcap
Binary files differ
diff --git a/tests/OSPFv3_multipoint_adjacencies.pcap b/src/tests/OSPFv3_multipoint_adjacencies.pcap
index 9ba7698..9ba7698 100644
--- a/tests/OSPFv3_multipoint_adjacencies.pcap
+++ b/src/tests/OSPFv3_multipoint_adjacencies.pcap
Binary files differ
diff --git a/tests/OSPFv3_with_AH.pcap b/src/tests/OSPFv3_with_AH.pcap
index 6c647b4..6c647b4 100644
--- a/tests/OSPFv3_with_AH.pcap
+++ b/src/tests/OSPFv3_with_AH.pcap
Binary files differ
diff --git a/tests/PIM-DM_pruning.pcap b/src/tests/PIM-DM_pruning.pcap
index ad0f80d..ad0f80d 100644
--- a/tests/PIM-DM_pruning.pcap
+++ b/src/tests/PIM-DM_pruning.pcap
Binary files differ
diff --git a/tests/PIM-SM_join_prune.pcap b/src/tests/PIM-SM_join_prune.pcap
index 12396bf..12396bf 100644
--- a/tests/PIM-SM_join_prune.pcap
+++ b/src/tests/PIM-SM_join_prune.pcap
Binary files differ
diff --git a/tests/PIM_register_register-stop.pcap b/src/tests/PIM_register_register-stop.pcap
index e2419ad..e2419ad 100644
--- a/tests/PIM_register_register-stop.pcap
+++ b/src/tests/PIM_register_register-stop.pcap
Binary files differ
diff --git a/tests/PIMv2_bootstrap.pcap b/src/tests/PIMv2_bootstrap.pcap
index 1bc0ae9..1bc0ae9 100644
--- a/tests/PIMv2_bootstrap.pcap
+++ b/src/tests/PIMv2_bootstrap.pcap
Binary files differ
diff --git a/tests/PIMv2_hellos.pcap b/src/tests/PIMv2_hellos.pcap
index 6a5f49d..6a5f49d 100644
--- a/tests/PIMv2_hellos.pcap
+++ b/src/tests/PIMv2_hellos.pcap
Binary files differ
diff --git a/tests/QinQpacket.out b/src/tests/QinQpacket.out
index 0ef7015..0ef7015 100644
--- a/tests/QinQpacket.out
+++ b/src/tests/QinQpacket.out
diff --git a/tests/QinQpacket.pcap b/src/tests/QinQpacket.pcap
index eeabfe4..eeabfe4 100644
--- a/tests/QinQpacket.pcap
+++ b/src/tests/QinQpacket.pcap
Binary files differ
diff --git a/tests/QinQpacketv.out b/src/tests/QinQpacketv.out
index 03ed7cf..03ed7cf 100644
--- a/tests/QinQpacketv.out
+++ b/src/tests/QinQpacketv.out
diff --git a/tests/RADIUS-RFC4675.pcap b/src/tests/RADIUS-RFC4675.pcap
index a5d7505..a5d7505 100644
--- a/tests/RADIUS-RFC4675.pcap
+++ b/src/tests/RADIUS-RFC4675.pcap
Binary files differ
diff --git a/tests/RADIUS-RFC5176.pcap b/src/tests/RADIUS-RFC5176.pcap
index 2ef19f2..2ef19f2 100644
--- a/tests/RADIUS-RFC5176.pcap
+++ b/src/tests/RADIUS-RFC5176.pcap
Binary files differ
diff --git a/tests/RADIUS-port1700.pcap b/src/tests/RADIUS-port1700.pcap
index aa7b24e..aa7b24e 100644
--- a/tests/RADIUS-port1700.pcap
+++ b/src/tests/RADIUS-port1700.pcap
Binary files differ
diff --git a/tests/RADIUS.pcap b/src/tests/RADIUS.pcap
index 2e902e4..2e902e4 100644
--- a/tests/RADIUS.pcap
+++ b/src/tests/RADIUS.pcap
Binary files differ
diff --git a/tests/TESTLIST b/src/tests/TESTLIST
index f787a90..f787a90 100644
--- a/tests/TESTLIST
+++ b/src/tests/TESTLIST
diff --git a/tests/TESTonce b/src/tests/TESTonce
index 30ffccd..30ffccd 100644
--- a/tests/TESTonce
+++ b/src/tests/TESTonce
diff --git a/tests/TESTrun.sh b/src/tests/TESTrun.sh
index 4cd0440..4cd0440 100644
--- a/tests/TESTrun.sh
+++ b/src/tests/TESTrun.sh
diff --git a/tests/UDLD.pcap b/src/tests/UDLD.pcap
index d8d3ff6..d8d3ff6 100644
--- a/tests/UDLD.pcap
+++ b/src/tests/UDLD.pcap
Binary files differ
diff --git a/tests/ahcp-vv.out b/src/tests/ahcp-vv.out
index 167dd43..167dd43 100644
--- a/tests/ahcp-vv.out
+++ b/src/tests/ahcp-vv.out
diff --git a/tests/ahcp.pcap b/src/tests/ahcp.pcap
index e3bfdf1..e3bfdf1 100644
--- a/tests/ahcp.pcap
+++ b/src/tests/ahcp.pcap
Binary files differ
diff --git a/tests/aoe_1-v.out b/src/tests/aoe_1-v.out
index a85e993..a85e993 100644
--- a/tests/aoe_1-v.out
+++ b/src/tests/aoe_1-v.out
diff --git a/tests/aoe_1.out b/src/tests/aoe_1.out
index 1729195..1729195 100644
--- a/tests/aoe_1.out
+++ b/src/tests/aoe_1.out
diff --git a/tests/babel.pcap b/src/tests/babel.pcap
index a9ab2b8..a9ab2b8 100644
--- a/tests/babel.pcap
+++ b/src/tests/babel.pcap
Binary files differ
diff --git a/tests/babel1.out b/src/tests/babel1.out
index de3d37e..de3d37e 100644
--- a/tests/babel1.out
+++ b/src/tests/babel1.out
diff --git a/tests/babel1v.out b/src/tests/babel1v.out
index d483a14..d483a14 100644
--- a/tests/babel1v.out
+++ b/src/tests/babel1v.out
diff --git a/tests/babel_auth.out b/src/tests/babel_auth.out
index c918495..c918495 100644
--- a/tests/babel_auth.out
+++ b/src/tests/babel_auth.out
diff --git a/tests/babel_auth.pcap b/src/tests/babel_auth.pcap
index 941e628..941e628 100644
--- a/tests/babel_auth.pcap
+++ b/src/tests/babel_auth.pcap
Binary files differ
diff --git a/tests/babel_pad1.out b/src/tests/babel_pad1.out
index c42f2eb..c42f2eb 100644
--- a/tests/babel_pad1.out
+++ b/src/tests/babel_pad1.out
diff --git a/tests/babel_pad1.pcap b/src/tests/babel_pad1.pcap
index 0e87911..0e87911 100644
--- a/tests/babel_pad1.pcap
+++ b/src/tests/babel_pad1.pcap
Binary files differ
diff --git a/tests/babel_rtt.out b/src/tests/babel_rtt.out
index a95829a..a95829a 100644
--- a/tests/babel_rtt.out
+++ b/src/tests/babel_rtt.out
diff --git a/tests/babel_rtt.pcap b/src/tests/babel_rtt.pcap
index b48d161..b48d161 100644
--- a/tests/babel_rtt.pcap
+++ b/src/tests/babel_rtt.pcap
Binary files differ
diff --git a/tests/bgp-aigp.out b/src/tests/bgp-aigp.out
index 3fd6678..3fd6678 100644
--- a/tests/bgp-aigp.out
+++ b/src/tests/bgp-aigp.out
diff --git a/tests/bgp-aigp.pcap b/src/tests/bgp-aigp.pcap
index 1e55e19..1e55e19 100644
--- a/tests/bgp-aigp.pcap
+++ b/src/tests/bgp-aigp.pcap
Binary files differ
diff --git a/tests/bgp-infinite-loop.pcap b/src/tests/bgp-infinite-loop.pcap
index 9f07d41..9f07d41 100644
--- a/tests/bgp-infinite-loop.pcap
+++ b/src/tests/bgp-infinite-loop.pcap
Binary files differ
diff --git a/tests/bgp_infloop-v.out b/src/tests/bgp_infloop-v.out
index d79a6aa..d79a6aa 100644
--- a/tests/bgp_infloop-v.out
+++ b/src/tests/bgp_infloop-v.out
diff --git a/tests/bgp_vpn_attrset.out b/src/tests/bgp_vpn_attrset.out
index c62c8d5..c62c8d5 100644
--- a/tests/bgp_vpn_attrset.out
+++ b/src/tests/bgp_vpn_attrset.out
diff --git a/tests/bgp_vpn_attrset.pcap b/src/tests/bgp_vpn_attrset.pcap
index e60aff5..e60aff5 100644
--- a/tests/bgp_vpn_attrset.pcap
+++ b/src/tests/bgp_vpn_attrset.pcap
Binary files differ
diff --git a/tests/cdp-v.out b/src/tests/cdp-v.out
index eb578bf..eb578bf 100644
--- a/tests/cdp-v.out
+++ b/src/tests/cdp-v.out
diff --git a/tests/chdlc-slarp-short.pcap b/src/tests/chdlc-slarp-short.pcap
index 41313dc..41313dc 100644
--- a/tests/chdlc-slarp-short.pcap
+++ b/src/tests/chdlc-slarp-short.pcap
Binary files differ
diff --git a/tests/chdlc-slarp.pcap b/src/tests/chdlc-slarp.pcap
index 1521443..1521443 100644
--- a/tests/chdlc-slarp.pcap
+++ b/src/tests/chdlc-slarp.pcap
Binary files differ
diff --git a/tests/crypto.sh b/src/tests/crypto.sh
index bd41921..bd41921 100644
--- a/tests/crypto.sh
+++ b/src/tests/crypto.sh
diff --git a/tests/cve-2014-8767-OLSR.out b/src/tests/cve-2014-8767-OLSR.out
index edfb067..edfb067 100644
--- a/tests/cve-2014-8767-OLSR.out
+++ b/src/tests/cve-2014-8767-OLSR.out
diff --git a/tests/cve-2014-8767-OLSR.pcap b/src/tests/cve-2014-8767-OLSR.pcap
index 67036ed..67036ed 100644
--- a/tests/cve-2014-8767-OLSR.pcap
+++ b/src/tests/cve-2014-8767-OLSR.pcap
Binary files differ
diff --git a/tests/cve-2014-8768-Geonet.out b/src/tests/cve-2014-8768-Geonet.out
index 4b7182d..4b7182d 100644
--- a/tests/cve-2014-8768-Geonet.out
+++ b/src/tests/cve-2014-8768-Geonet.out
diff --git a/tests/cve-2014-8768-Geonet.pcap b/src/tests/cve-2014-8768-Geonet.pcap
index 345ed24..345ed24 100644
--- a/tests/cve-2014-8768-Geonet.pcap
+++ b/src/tests/cve-2014-8768-Geonet.pcap
Binary files differ
diff --git a/tests/cve-2014-8769-AODV.out b/src/tests/cve-2014-8769-AODV.out
index 0bb70b4..0bb70b4 100644
--- a/tests/cve-2014-8769-AODV.out
+++ b/src/tests/cve-2014-8769-AODV.out
diff --git a/tests/cve-2014-8769-AODV.pcap b/src/tests/cve-2014-8769-AODV.pcap
index 3cd1569..3cd1569 100644
--- a/tests/cve-2014-8769-AODV.pcap
+++ b/src/tests/cve-2014-8769-AODV.pcap
Binary files differ
diff --git a/tests/cve2015-0261-crash.out b/src/tests/cve2015-0261-crash.out
index 1946280..1946280 100644
--- a/tests/cve2015-0261-crash.out
+++ b/src/tests/cve2015-0261-crash.out
diff --git a/tests/cve2015-0261-crash.pcap b/src/tests/cve2015-0261-crash.pcap
index 01cd381..01cd381 100644
--- a/tests/cve2015-0261-crash.pcap
+++ b/src/tests/cve2015-0261-crash.pcap
Binary files differ
diff --git a/tests/cve2015-0261-ipv6.out b/src/tests/cve2015-0261-ipv6.out
index 4674ada..4674ada 100644
--- a/tests/cve2015-0261-ipv6.out
+++ b/src/tests/cve2015-0261-ipv6.out
diff --git a/tests/cve2015-0261-ipv6.pcap b/src/tests/cve2015-0261-ipv6.pcap
index a8a32ba..a8a32ba 100644
--- a/tests/cve2015-0261-ipv6.pcap
+++ b/src/tests/cve2015-0261-ipv6.pcap
Binary files differ
diff --git a/tests/dcb_ets.out b/src/tests/dcb_ets.out
index c9a94a7..c9a94a7 100644
--- a/tests/dcb_ets.out
+++ b/src/tests/dcb_ets.out
diff --git a/tests/dcb_ets.pcap b/src/tests/dcb_ets.pcap
index 995887b..995887b 100644
--- a/tests/dcb_ets.pcap
+++ b/src/tests/dcb_ets.pcap
Binary files differ
diff --git a/tests/dcb_pfc.out b/src/tests/dcb_pfc.out
index 005b0c1..005b0c1 100644
--- a/tests/dcb_pfc.out
+++ b/src/tests/dcb_pfc.out
diff --git a/tests/dcb_pfc.pcap b/src/tests/dcb_pfc.pcap
index c777a33..c777a33 100644
--- a/tests/dcb_pfc.pcap
+++ b/src/tests/dcb_pfc.pcap
Binary files differ
diff --git a/tests/dcb_qcn.out b/src/tests/dcb_qcn.out
index 747df9b..747df9b 100644
--- a/tests/dcb_qcn.out
+++ b/src/tests/dcb_qcn.out
diff --git a/tests/dcb_qcn.pcap b/src/tests/dcb_qcn.pcap
index 9034d7c..9034d7c 100644
--- a/tests/dcb_qcn.pcap
+++ b/src/tests/dcb_qcn.pcap
Binary files differ
diff --git a/tests/dccp_partial_csum_v4_longer.out b/src/tests/dccp_partial_csum_v4_longer.out
index 1ec7002..1ec7002 100644
--- a/tests/dccp_partial_csum_v4_longer.out
+++ b/src/tests/dccp_partial_csum_v4_longer.out
diff --git a/tests/dccp_partial_csum_v4_longer.pcap b/src/tests/dccp_partial_csum_v4_longer.pcap
index f1176c0..f1176c0 100644
--- a/tests/dccp_partial_csum_v4_longer.pcap
+++ b/src/tests/dccp_partial_csum_v4_longer.pcap
Binary files differ
diff --git a/tests/dccp_partial_csum_v4_simple.out b/src/tests/dccp_partial_csum_v4_simple.out
index 6fee70d..6fee70d 100644
--- a/tests/dccp_partial_csum_v4_simple.out
+++ b/src/tests/dccp_partial_csum_v4_simple.out
diff --git a/tests/dccp_partial_csum_v4_simple.pcap b/src/tests/dccp_partial_csum_v4_simple.pcap
index a9c3d66..a9c3d66 100644
--- a/tests/dccp_partial_csum_v4_simple.pcap
+++ b/src/tests/dccp_partial_csum_v4_simple.pcap
Binary files differ
diff --git a/tests/dccp_partial_csum_v6_longer.out b/src/tests/dccp_partial_csum_v6_longer.out
index 76355d4..76355d4 100644
--- a/tests/dccp_partial_csum_v6_longer.out
+++ b/src/tests/dccp_partial_csum_v6_longer.out
diff --git a/tests/dccp_partial_csum_v6_longer.pcap b/src/tests/dccp_partial_csum_v6_longer.pcap
index 644379d..644379d 100644
--- a/tests/dccp_partial_csum_v6_longer.pcap
+++ b/src/tests/dccp_partial_csum_v6_longer.pcap
Binary files differ
diff --git a/tests/dccp_partial_csum_v6_simple.out b/src/tests/dccp_partial_csum_v6_simple.out
index 317a68a..317a68a 100644
--- a/tests/dccp_partial_csum_v6_simple.out
+++ b/src/tests/dccp_partial_csum_v6_simple.out
diff --git a/tests/dccp_partial_csum_v6_simple.pcap b/src/tests/dccp_partial_csum_v6_simple.pcap
index c343d90..c343d90 100644
--- a/tests/dccp_partial_csum_v6_simple.pcap
+++ b/src/tests/dccp_partial_csum_v6_simple.pcap
Binary files differ
diff --git a/tests/decnet.out b/src/tests/decnet.out
index 8767c62..8767c62 100644
--- a/tests/decnet.out
+++ b/src/tests/decnet.out
diff --git a/tests/dhcp-rfc3004-v.out b/src/tests/dhcp-rfc3004-v.out
index 2032817..2032817 100644
--- a/tests/dhcp-rfc3004-v.out
+++ b/src/tests/dhcp-rfc3004-v.out
diff --git a/tests/dhcp-rfc3004.pcap b/src/tests/dhcp-rfc3004.pcap
index 11806c3..11806c3 100644
--- a/tests/dhcp-rfc3004.pcap
+++ b/src/tests/dhcp-rfc3004.pcap
Binary files differ
diff --git a/tests/dhcp-rfc5859-v.out b/src/tests/dhcp-rfc5859-v.out
index 6f31368..6f31368 100644
--- a/tests/dhcp-rfc5859-v.out
+++ b/src/tests/dhcp-rfc5859-v.out
diff --git a/tests/dhcp-rfc5859.pcap b/src/tests/dhcp-rfc5859.pcap
index e16a6b3..e16a6b3 100644
--- a/tests/dhcp-rfc5859.pcap
+++ b/src/tests/dhcp-rfc5859.pcap
Binary files differ
diff --git a/tests/dhcpv6-AFTR-Name-RFC6334.out b/src/tests/dhcpv6-AFTR-Name-RFC6334.out
index 13f6a4f..13f6a4f 100644
--- a/tests/dhcpv6-AFTR-Name-RFC6334.out
+++ b/src/tests/dhcpv6-AFTR-Name-RFC6334.out
diff --git a/tests/dhcpv6-AFTR-Name-RFC6334.pcap b/src/tests/dhcpv6-AFTR-Name-RFC6334.pcap
index d6b353e..d6b353e 100644
--- a/tests/dhcpv6-AFTR-Name-RFC6334.pcap
+++ b/src/tests/dhcpv6-AFTR-Name-RFC6334.pcap
Binary files differ
diff --git a/tests/dhcpv6-domain-list.out b/src/tests/dhcpv6-domain-list.out
index 30b449c..30b449c 100644
--- a/tests/dhcpv6-domain-list.out
+++ b/src/tests/dhcpv6-domain-list.out
diff --git a/tests/dhcpv6-domain-list.pcap b/src/tests/dhcpv6-domain-list.pcap
index b0afeff..b0afeff 100644
--- a/tests/dhcpv6-domain-list.pcap
+++ b/src/tests/dhcpv6-domain-list.pcap
Binary files differ
diff --git a/tests/dhcpv6-ia-na.out b/src/tests/dhcpv6-ia-na.out
index b1dd0f0..b1dd0f0 100644
--- a/tests/dhcpv6-ia-na.out
+++ b/src/tests/dhcpv6-ia-na.out
diff --git a/tests/dhcpv6-ia-na.pcap b/src/tests/dhcpv6-ia-na.pcap
index 3cafdc5..3cafdc5 100644
--- a/tests/dhcpv6-ia-na.pcap
+++ b/src/tests/dhcpv6-ia-na.pcap
Binary files differ
diff --git a/tests/dhcpv6-ia-pd.out b/src/tests/dhcpv6-ia-pd.out
index f230467..f230467 100644
--- a/tests/dhcpv6-ia-pd.out
+++ b/src/tests/dhcpv6-ia-pd.out
diff --git a/tests/dhcpv6-ia-pd.pcap b/src/tests/dhcpv6-ia-pd.pcap
index 5fdd067..5fdd067 100644
--- a/tests/dhcpv6-ia-pd.pcap
+++ b/src/tests/dhcpv6-ia-pd.pcap
Binary files differ
diff --git a/tests/dhcpv6-ia-ta.out b/src/tests/dhcpv6-ia-ta.out
index 5a8acef..5a8acef 100644
--- a/tests/dhcpv6-ia-ta.out
+++ b/src/tests/dhcpv6-ia-ta.out
diff --git a/tests/dhcpv6-ia-ta.pcap b/src/tests/dhcpv6-ia-ta.pcap
index b91f8b7..b91f8b7 100644
--- a/tests/dhcpv6-ia-ta.pcap
+++ b/src/tests/dhcpv6-ia-ta.pcap
Binary files differ
diff --git a/tests/dhcpv6-ntp-server.out b/src/tests/dhcpv6-ntp-server.out
index 23db5bd..23db5bd 100644
--- a/tests/dhcpv6-ntp-server.out
+++ b/src/tests/dhcpv6-ntp-server.out
diff --git a/tests/dhcpv6-ntp-server.pcap b/src/tests/dhcpv6-ntp-server.pcap
index 5657692..5657692 100644
--- a/tests/dhcpv6-ntp-server.pcap
+++ b/src/tests/dhcpv6-ntp-server.pcap
Binary files differ
diff --git a/tests/dhcpv6-sip-server-d.out b/src/tests/dhcpv6-sip-server-d.out
index 4600e9f..4600e9f 100644
--- a/tests/dhcpv6-sip-server-d.out
+++ b/src/tests/dhcpv6-sip-server-d.out
diff --git a/tests/dhcpv6-sip-server-d.pcap b/src/tests/dhcpv6-sip-server-d.pcap
index 7cb2103..7cb2103 100644
--- a/tests/dhcpv6-sip-server-d.pcap
+++ b/src/tests/dhcpv6-sip-server-d.pcap
Binary files differ
diff --git a/tests/dnssec-vv.out b/src/tests/dnssec-vv.out
index a75135b..a75135b 100644
--- a/tests/dnssec-vv.out
+++ b/src/tests/dnssec-vv.out
diff --git a/tests/dnssec.pcap b/src/tests/dnssec.pcap
index b191480..b191480 100644
--- a/tests/dnssec.pcap
+++ b/src/tests/dnssec.pcap
Binary files differ
diff --git a/tests/dtp-v.out b/src/tests/dtp-v.out
index 4eb566b..4eb566b 100644
--- a/tests/dtp-v.out
+++ b/src/tests/dtp-v.out
diff --git a/tests/dvmrp.out b/src/tests/dvmrp.out
index d612f7d..d612f7d 100644
--- a/tests/dvmrp.out
+++ b/src/tests/dvmrp.out
diff --git a/tests/e1000g.out b/src/tests/e1000g.out
index 0cc3b9e..0cc3b9e 100644
--- a/tests/e1000g.out
+++ b/src/tests/e1000g.out
diff --git a/tests/e1000g.pcap b/src/tests/e1000g.pcap
index 11b0174..11b0174 100644
--- a/tests/e1000g.pcap
+++ b/src/tests/e1000g.pcap
Binary files differ
diff --git a/tests/eapon1.gdbinit b/src/tests/eapon1.gdbinit
index 37ad0bc..37ad0bc 100644
--- a/tests/eapon1.gdbinit
+++ b/src/tests/eapon1.gdbinit
diff --git a/tests/eapon1.out b/src/tests/eapon1.out
index 69f7537..69f7537 100644
--- a/tests/eapon1.out
+++ b/src/tests/eapon1.out
diff --git a/tests/eapon1.pcap b/src/tests/eapon1.pcap
index 4a87ed1..4a87ed1 100644
--- a/tests/eapon1.pcap
+++ b/src/tests/eapon1.pcap
Binary files differ
diff --git a/tests/eigrp1-v.out b/src/tests/eigrp1-v.out
index e2e75b2..e2e75b2 100644
--- a/tests/eigrp1-v.out
+++ b/src/tests/eigrp1-v.out
diff --git a/tests/eigrp2-v.out b/src/tests/eigrp2-v.out
index 112a1a4..112a1a4 100644
--- a/tests/eigrp2-v.out
+++ b/src/tests/eigrp2-v.out
diff --git a/tests/eigrp3-v.out b/src/tests/eigrp3-v.out
index 4e344cb..4e344cb 100644
--- a/tests/eigrp3-v.out
+++ b/src/tests/eigrp3-v.out
diff --git a/tests/eigrp4-v.out b/src/tests/eigrp4-v.out
index f5cb165..f5cb165 100644
--- a/tests/eigrp4-v.out
+++ b/src/tests/eigrp4-v.out
diff --git a/tests/epgm_zmtp1.pcap b/src/tests/epgm_zmtp1.pcap
index 1883579..1883579 100644
--- a/tests/epgm_zmtp1.pcap
+++ b/src/tests/epgm_zmtp1.pcap
Binary files differ
diff --git a/tests/epgm_zmtp1v.out b/src/tests/epgm_zmtp1v.out
index 171ecac..171ecac 100644
--- a/tests/epgm_zmtp1v.out
+++ b/src/tests/epgm_zmtp1v.out
diff --git a/tests/epgmv.out b/src/tests/epgmv.out
index ffa1b82..ffa1b82 100644
--- a/tests/epgmv.out
+++ b/src/tests/epgmv.out
diff --git a/tests/esp-secrets.txt b/src/tests/esp-secrets.txt
index 81847a0..81847a0 100644
--- a/tests/esp-secrets.txt
+++ b/src/tests/esp-secrets.txt
diff --git a/tests/esp0.out b/src/tests/esp0.out
index a0ddf1b..a0ddf1b 100644
--- a/tests/esp0.out
+++ b/src/tests/esp0.out
diff --git a/tests/esp1.gdbinit b/src/tests/esp1.gdbinit
index 6c8ae89..6c8ae89 100644
--- a/tests/esp1.gdbinit
+++ b/src/tests/esp1.gdbinit
diff --git a/tests/esp1.out b/src/tests/esp1.out
index 61b2967..61b2967 100644
--- a/tests/esp1.out
+++ b/src/tests/esp1.out
diff --git a/tests/esp2.gdbinit b/src/tests/esp2.gdbinit
index 7c18407..7c18407 100644
--- a/tests/esp2.gdbinit
+++ b/src/tests/esp2.gdbinit
diff --git a/tests/esp2.out b/src/tests/esp2.out
index a829c8e..a829c8e 100644
--- a/tests/esp2.out
+++ b/src/tests/esp2.out
diff --git a/tests/esp3.gdbinit b/src/tests/esp3.gdbinit
index 7150118..7150118 100644
--- a/tests/esp3.gdbinit
+++ b/src/tests/esp3.gdbinit
diff --git a/tests/esp4.gdbinit b/src/tests/esp4.gdbinit
index 8007444..8007444 100644
--- a/tests/esp4.gdbinit
+++ b/src/tests/esp4.gdbinit
diff --git a/tests/esp5.gdbinit b/src/tests/esp5.gdbinit
index 2f578e3..2f578e3 100644
--- a/tests/esp5.gdbinit
+++ b/src/tests/esp5.gdbinit
diff --git a/tests/esp5.out b/src/tests/esp5.out
index 73f35e0..73f35e0 100644
--- a/tests/esp5.out
+++ b/src/tests/esp5.out
diff --git a/tests/espudp1.out b/src/tests/espudp1.out
index db8eafb..db8eafb 100644
--- a/tests/espudp1.out
+++ b/src/tests/espudp1.out
diff --git a/tests/espudp1.pcap b/src/tests/espudp1.pcap
index 3387f9b..3387f9b 100644
--- a/tests/espudp1.pcap
+++ b/src/tests/espudp1.pcap
Binary files differ
diff --git a/tests/evb.out b/src/tests/evb.out
index db8888c..db8888c 100644
--- a/tests/evb.out
+++ b/src/tests/evb.out
diff --git a/tests/evb.pcap b/src/tests/evb.pcap
index 1aea021..1aea021 100644
--- a/tests/evb.pcap
+++ b/src/tests/evb.pcap
Binary files differ
diff --git a/tests/failure-outputs.txt b/src/tests/failure-outputs.txt
index e69de29..e69de29 100644
--- a/tests/failure-outputs.txt
+++ b/src/tests/failure-outputs.txt
diff --git a/tests/forces1.out b/src/tests/forces1.out
index 63bb581..63bb581 100644
--- a/tests/forces1.out
+++ b/src/tests/forces1.out
diff --git a/tests/forces1.pcap b/src/tests/forces1.pcap
index b60fdd0..b60fdd0 100644
--- a/tests/forces1.pcap
+++ b/src/tests/forces1.pcap
Binary files differ
diff --git a/tests/forces1vvv.out b/src/tests/forces1vvv.out
index ebd378c..ebd378c 100644
--- a/tests/forces1vvv.out
+++ b/src/tests/forces1vvv.out
diff --git a/tests/forces1vvvv.out b/src/tests/forces1vvvv.out
index e418839..e418839 100644
--- a/tests/forces1vvvv.out
+++ b/src/tests/forces1vvvv.out
diff --git a/tests/forces2.pcap b/src/tests/forces2.pcap
index 51a2095..51a2095 100644
--- a/tests/forces2.pcap
+++ b/src/tests/forces2.pcap
Binary files differ
diff --git a/tests/forces2v.out b/src/tests/forces2v.out
index e69de29..e69de29 100644
--- a/tests/forces2v.out
+++ b/src/tests/forces2v.out
diff --git a/tests/forces2vv.out b/src/tests/forces2vv.out
index 74f37c6..74f37c6 100644
--- a/tests/forces2vv.out
+++ b/src/tests/forces2vv.out
diff --git a/tests/forces2vvv.out b/src/tests/forces2vvv.out
index 6a9bd5f..6a9bd5f 100644
--- a/tests/forces2vvv.out
+++ b/src/tests/forces2vvv.out
diff --git a/tests/forces3.pcap b/src/tests/forces3.pcap
index a968425..a968425 100644
--- a/tests/forces3.pcap
+++ b/src/tests/forces3.pcap
Binary files differ
diff --git a/tests/forces3vvv.out b/src/tests/forces3vvv.out
index 6d2394d..6d2394d 100644
--- a/tests/forces3vvv.out
+++ b/src/tests/forces3vvv.out
diff --git a/tests/geneve-tcp.out b/src/tests/geneve-tcp.out
index e2cdc37..e2cdc37 100644
--- a/tests/geneve-tcp.out
+++ b/src/tests/geneve-tcp.out
diff --git a/tests/geneve-vni.out b/src/tests/geneve-vni.out
index 8b6858b..8b6858b 100644
--- a/tests/geneve-vni.out
+++ b/src/tests/geneve-vni.out
diff --git a/tests/geneve-vv.out b/src/tests/geneve-vv.out
index eb50e66..eb50e66 100644
--- a/tests/geneve-vv.out
+++ b/src/tests/geneve-vv.out
diff --git a/tests/geneve.pcap b/src/tests/geneve.pcap
index 2795493..2795493 100644
--- a/tests/geneve.pcap
+++ b/src/tests/geneve.pcap
Binary files differ
diff --git a/tests/geonet_and_calm_fast.out b/src/tests/geonet_and_calm_fast.out
index eae996f..eae996f 100644
--- a/tests/geonet_and_calm_fast.out
+++ b/src/tests/geonet_and_calm_fast.out
diff --git a/tests/geonet_and_calm_fast.pcap b/src/tests/geonet_and_calm_fast.pcap
index eaaebe5..eaaebe5 100644
--- a/tests/geonet_and_calm_fast.pcap
+++ b/src/tests/geonet_and_calm_fast.pcap
Binary files differ
diff --git a/tests/hdlc1.out b/src/tests/hdlc1.out
index 3c510e0..3c510e0 100644
--- a/tests/hdlc1.out
+++ b/src/tests/hdlc1.out
diff --git a/tests/hdlc2.out b/src/tests/hdlc2.out
index 78a2663..78a2663 100644
--- a/tests/hdlc2.out
+++ b/src/tests/hdlc2.out
diff --git a/tests/hdlc3.out b/src/tests/hdlc3.out
index edbc605..edbc605 100644
--- a/tests/hdlc3.out
+++ b/src/tests/hdlc3.out
diff --git a/tests/hdlc4.out b/src/tests/hdlc4.out
index deffd79..deffd79 100644
--- a/tests/hdlc4.out
+++ b/src/tests/hdlc4.out
diff --git a/tests/hdlc_slarp.pcap b/src/tests/hdlc_slarp.pcap
index 3a24dca..3a24dca 100644
--- a/tests/hdlc_slarp.pcap
+++ b/src/tests/hdlc_slarp.pcap
Binary files differ
diff --git a/tests/hncp.out b/src/tests/hncp.out
index 5a171e7..5a171e7 100644
--- a/tests/hncp.out
+++ b/src/tests/hncp.out
diff --git a/tests/hncp.pcap b/src/tests/hncp.pcap
index 16d7047..16d7047 100644
--- a/tests/hncp.pcap
+++ b/src/tests/hncp.pcap
Binary files differ
diff --git a/tests/hsrp_1-v.out b/src/tests/hsrp_1-v.out
index 61b8e2b..61b8e2b 100644
--- a/tests/hsrp_1-v.out
+++ b/src/tests/hsrp_1-v.out
diff --git a/tests/hsrp_1.out b/src/tests/hsrp_1.out
index 326e57b..326e57b 100644
--- a/tests/hsrp_1.out
+++ b/src/tests/hsrp_1.out
diff --git a/tests/hsrp_2-v.out b/src/tests/hsrp_2-v.out
index d96227f..d96227f 100644
--- a/tests/hsrp_2-v.out
+++ b/src/tests/hsrp_2-v.out
diff --git a/tests/hsrp_3-v.out b/src/tests/hsrp_3-v.out
index 54a78f4..54a78f4 100644
--- a/tests/hsrp_3-v.out
+++ b/src/tests/hsrp_3-v.out
diff --git a/tests/icmpv6.out b/src/tests/icmpv6.out
index bb7775e..bb7775e 100644
--- a/tests/icmpv6.out
+++ b/src/tests/icmpv6.out
diff --git a/tests/icmpv6.pcap b/src/tests/icmpv6.pcap
index d480e72..d480e72 100644
--- a/tests/icmpv6.pcap
+++ b/src/tests/icmpv6.pcap
Binary files differ
diff --git a/tests/icmpv6_opt24-v.out b/src/tests/icmpv6_opt24-v.out
index 2b7cf09..2b7cf09 100644
--- a/tests/icmpv6_opt24-v.out
+++ b/src/tests/icmpv6_opt24-v.out
diff --git a/tests/icmpv6_opt24.pcap b/src/tests/icmpv6_opt24.pcap
index 974e7a3..974e7a3 100644
--- a/tests/icmpv6_opt24.pcap
+++ b/src/tests/icmpv6_opt24.pcap
Binary files differ
diff --git a/tests/ieee802.11_exthdr.out b/src/tests/ieee802.11_exthdr.out
index 7b217e5..7b217e5 100644
--- a/tests/ieee802.11_exthdr.out
+++ b/src/tests/ieee802.11_exthdr.out
diff --git a/tests/ieee802.11_exthdr.pcap b/src/tests/ieee802.11_exthdr.pcap
index 613a443..613a443 100644
--- a/tests/ieee802.11_exthdr.pcap
+++ b/src/tests/ieee802.11_exthdr.pcap
Binary files differ
diff --git a/tests/ieee802.11_rx-stbc.out b/src/tests/ieee802.11_rx-stbc.out
index 8369b62..8369b62 100644
--- a/tests/ieee802.11_rx-stbc.out
+++ b/src/tests/ieee802.11_rx-stbc.out
diff --git a/tests/ieee802.11_rx-stbc.pcap b/src/tests/ieee802.11_rx-stbc.pcap
index b825a0a..b825a0a 100644
--- a/tests/ieee802.11_rx-stbc.pcap
+++ b/src/tests/ieee802.11_rx-stbc.pcap
Binary files differ
diff --git a/tests/igmpv1.out b/src/tests/igmpv1.out
index ad8618f..ad8618f 100644
--- a/tests/igmpv1.out
+++ b/src/tests/igmpv1.out
diff --git a/tests/igmpv2.out b/src/tests/igmpv2.out
index ae340da..ae340da 100644
--- a/tests/igmpv2.out
+++ b/src/tests/igmpv2.out
diff --git a/tests/igmpv3-queries.out b/src/tests/igmpv3-queries.out
index 9db6f9b..9db6f9b 100644
--- a/tests/igmpv3-queries.out
+++ b/src/tests/igmpv3-queries.out
diff --git a/tests/igmpv3-queries.pcap b/src/tests/igmpv3-queries.pcap
index df653ce..df653ce 100644
--- a/tests/igmpv3-queries.pcap
+++ b/src/tests/igmpv3-queries.pcap
Binary files differ
diff --git a/tests/ikev2four.out b/src/tests/ikev2four.out
index db2e8ef..db2e8ef 100644
--- a/tests/ikev2four.out
+++ b/src/tests/ikev2four.out
diff --git a/tests/ikev2four.pcap b/src/tests/ikev2four.pcap
index 4b1d0bf..4b1d0bf 100644
--- a/tests/ikev2four.pcap
+++ b/src/tests/ikev2four.pcap
Binary files differ
diff --git a/tests/ikev2fourv.out b/src/tests/ikev2fourv.out
index 15c482f..15c482f 100644
--- a/tests/ikev2fourv.out
+++ b/src/tests/ikev2fourv.out
diff --git a/tests/ikev2fourv4.out b/src/tests/ikev2fourv4.out
index dd6c3ee..dd6c3ee 100644
--- a/tests/ikev2fourv4.out
+++ b/src/tests/ikev2fourv4.out
diff --git a/tests/ikev2pI2-secrets.txt b/src/tests/ikev2pI2-secrets.txt
index efe9636..efe9636 100644
--- a/tests/ikev2pI2-secrets.txt
+++ b/src/tests/ikev2pI2-secrets.txt
diff --git a/tests/ikev2pI2.out b/src/tests/ikev2pI2.out
index 7940e8c..7940e8c 100644
--- a/tests/ikev2pI2.out
+++ b/src/tests/ikev2pI2.out
diff --git a/tests/ikev2pI2.pcap b/src/tests/ikev2pI2.pcap
index 8d5eb48..8d5eb48 100644
--- a/tests/ikev2pI2.pcap
+++ b/src/tests/ikev2pI2.pcap
Binary files differ
diff --git a/tests/ipv6-bad-version.out b/src/tests/ipv6-bad-version.out
index cd9150b..cd9150b 100644
--- a/tests/ipv6-bad-version.out
+++ b/src/tests/ipv6-bad-version.out
diff --git a/tests/ipv6-bad-version.pcap b/src/tests/ipv6-bad-version.pcap
index 357a6ee..357a6ee 100644
--- a/tests/ipv6-bad-version.pcap
+++ b/src/tests/ipv6-bad-version.pcap
Binary files differ
diff --git a/tests/ipv6-routing-header.out b/src/tests/ipv6-routing-header.out
index c19b879..c19b879 100644
--- a/tests/ipv6-routing-header.out
+++ b/src/tests/ipv6-routing-header.out
diff --git a/tests/ipv6-routing-header.pcap b/src/tests/ipv6-routing-header.pcap
index 683e01b..683e01b 100644
--- a/tests/ipv6-routing-header.pcap
+++ b/src/tests/ipv6-routing-header.pcap
Binary files differ
diff --git a/tests/isakmp-delete-segfault.pcap b/src/tests/isakmp-delete-segfault.pcap
index 9c4ada1..9c4ada1 100644
--- a/tests/isakmp-delete-segfault.pcap
+++ b/src/tests/isakmp-delete-segfault.pcap
Binary files differ
diff --git a/tests/isakmp-identification-segfault.pcap b/src/tests/isakmp-identification-segfault.pcap
index c14f04f..c14f04f 100644
--- a/tests/isakmp-identification-segfault.pcap
+++ b/src/tests/isakmp-identification-segfault.pcap
Binary files differ
diff --git a/tests/isakmp-pointer-loop.pcap b/src/tests/isakmp-pointer-loop.pcap
index 578da0d..578da0d 100644
--- a/tests/isakmp-pointer-loop.pcap
+++ b/src/tests/isakmp-pointer-loop.pcap
Binary files differ
diff --git a/tests/isakmp1.out b/src/tests/isakmp1.out
index 355a8ea..355a8ea 100644
--- a/tests/isakmp1.out
+++ b/src/tests/isakmp1.out
diff --git a/tests/isakmp2.out b/src/tests/isakmp2.out
index 44c28db..44c28db 100644
--- a/tests/isakmp2.out
+++ b/src/tests/isakmp2.out
diff --git a/tests/isakmp3.out b/src/tests/isakmp3.out
index 8619263..8619263 100644
--- a/tests/isakmp3.out
+++ b/src/tests/isakmp3.out
diff --git a/tests/isakmp4.out b/src/tests/isakmp4.out
index 0de3ebc..0de3ebc 100644
--- a/tests/isakmp4.out
+++ b/src/tests/isakmp4.out
diff --git a/tests/isakmp4500.pcap b/src/tests/isakmp4500.pcap
index 8ff5ab4..8ff5ab4 100644
--- a/tests/isakmp4500.pcap
+++ b/src/tests/isakmp4500.pcap
Binary files differ
diff --git a/tests/isakmp5-v.out b/src/tests/isakmp5-v.out
index 58014af..58014af 100644
--- a/tests/isakmp5-v.out
+++ b/src/tests/isakmp5-v.out
diff --git a/tests/isis-infinite-loop.pcap b/src/tests/isis-infinite-loop.pcap
index b482fc8..b482fc8 100644
--- a/tests/isis-infinite-loop.pcap
+++ b/src/tests/isis-infinite-loop.pcap
Binary files differ
diff --git a/tests/isis_1-v.out b/src/tests/isis_1-v.out
index bbe6e26..bbe6e26 100644
--- a/tests/isis_1-v.out
+++ b/src/tests/isis_1-v.out
diff --git a/tests/isis_1.out b/src/tests/isis_1.out
index 32edae9..32edae9 100644
--- a/tests/isis_1.out
+++ b/src/tests/isis_1.out
diff --git a/tests/isis_2-v.out b/src/tests/isis_2-v.out
index 8c05206..8c05206 100644
--- a/tests/isis_2-v.out
+++ b/src/tests/isis_2-v.out
diff --git a/tests/isis_3-v.out b/src/tests/isis_3-v.out
index 4894864..4894864 100644
--- a/tests/isis_3-v.out
+++ b/src/tests/isis_3-v.out
diff --git a/tests/isis_4-v.out b/src/tests/isis_4-v.out
index b4875f3..b4875f3 100644
--- a/tests/isis_4-v.out
+++ b/src/tests/isis_4-v.out
diff --git a/tests/isis_infloop-v.out b/src/tests/isis_infloop-v.out
index 1bb8301..1bb8301 100644
--- a/tests/isis_infloop-v.out
+++ b/src/tests/isis_infloop-v.out
diff --git a/tests/isis_poi.out b/src/tests/isis_poi.out
index 129734b..129734b 100644
--- a/tests/isis_poi.out
+++ b/src/tests/isis_poi.out
diff --git a/tests/isis_poi.pcap b/src/tests/isis_poi.pcap
index fdd433c..fdd433c 100644
--- a/tests/isis_poi.pcap
+++ b/src/tests/isis_poi.pcap
Binary files differ
diff --git a/tests/isis_poi2.out b/src/tests/isis_poi2.out
index 10eecca..10eecca 100644
--- a/tests/isis_poi2.out
+++ b/src/tests/isis_poi2.out
diff --git a/tests/isis_poi2.pcap b/src/tests/isis_poi2.pcap
index 8174524..8174524 100644
--- a/tests/isis_poi2.pcap
+++ b/src/tests/isis_poi2.pcap
Binary files differ
diff --git a/tests/isup.out b/src/tests/isup.out
index fb4d9af..fb4d9af 100644
--- a/tests/isup.out
+++ b/src/tests/isup.out
diff --git a/tests/isup.pcap b/src/tests/isup.pcap
index 39f16b9..39f16b9 100644
--- a/tests/isup.pcap
+++ b/src/tests/isup.pcap
Binary files differ
diff --git a/tests/isupvv.out b/src/tests/isupvv.out
index 8e8a008..8e8a008 100644
--- a/tests/isupvv.out
+++ b/src/tests/isupvv.out
diff --git a/tests/kday1.out b/src/tests/kday1.out
index eaaacaa..eaaacaa 100644
--- a/tests/kday1.out
+++ b/src/tests/kday1.out
diff --git a/tests/kday1.pcap b/src/tests/kday1.pcap
index ca2d960..ca2d960 100644
--- a/tests/kday1.pcap
+++ b/src/tests/kday1.pcap
Binary files differ
diff --git a/tests/kday2.out b/src/tests/kday2.out
index 770fc3b..770fc3b 100644
--- a/tests/kday2.out
+++ b/src/tests/kday2.out
diff --git a/tests/kday2.pcap b/src/tests/kday2.pcap
index 28e921b..28e921b 100644
--- a/tests/kday2.pcap
+++ b/src/tests/kday2.pcap
Binary files differ
diff --git a/tests/kday3.out b/src/tests/kday3.out
index f6fd728..f6fd728 100644
--- a/tests/kday3.out
+++ b/src/tests/kday3.out
diff --git a/tests/kday3.pcap b/src/tests/kday3.pcap
index e22de28..e22de28 100644
--- a/tests/kday3.pcap
+++ b/src/tests/kday3.pcap
Binary files differ
diff --git a/tests/kday4.out b/src/tests/kday4.out
index 00836ee..00836ee 100644
--- a/tests/kday4.out
+++ b/src/tests/kday4.out
diff --git a/tests/kday4.pcap b/src/tests/kday4.pcap
index f25e84a..f25e84a 100644
--- a/tests/kday4.pcap
+++ b/src/tests/kday4.pcap
Binary files differ
diff --git a/tests/kday5.out b/src/tests/kday5.out
index 7aeae72..7aeae72 100644
--- a/tests/kday5.out
+++ b/src/tests/kday5.out
diff --git a/tests/kday5.pcap b/src/tests/kday5.pcap
index 759bf88..759bf88 100644
--- a/tests/kday5.pcap
+++ b/src/tests/kday5.pcap
Binary files differ
diff --git a/tests/kday6.out b/src/tests/kday6.out
index 8c49293..8c49293 100644
--- a/tests/kday6.out
+++ b/src/tests/kday6.out
diff --git a/tests/kday6.pcap b/src/tests/kday6.pcap
index 7c6ab89..7c6ab89 100644
--- a/tests/kday6.pcap
+++ b/src/tests/kday6.pcap
Binary files differ
diff --git a/tests/kday7.out b/src/tests/kday7.out
index 5179a0f..5179a0f 100644
--- a/tests/kday7.out
+++ b/src/tests/kday7.out
diff --git a/tests/kday7.pcap b/src/tests/kday7.pcap
index ec1da78..ec1da78 100644
--- a/tests/kday7.pcap
+++ b/src/tests/kday7.pcap
Binary files differ
diff --git a/tests/kday8.out b/src/tests/kday8.out
index 2d84b72..2d84b72 100644
--- a/tests/kday8.out
+++ b/src/tests/kday8.out
diff --git a/tests/kday8.pcap b/src/tests/kday8.pcap
index 83577f6..83577f6 100644
--- a/tests/kday8.pcap
+++ b/src/tests/kday8.pcap
Binary files differ
diff --git a/tests/lacp-ev.out b/src/tests/lacp-ev.out
index 36ed753..36ed753 100644
--- a/tests/lacp-ev.out
+++ b/src/tests/lacp-ev.out
diff --git a/tests/ldp-infinite-loop.pcap b/src/tests/ldp-infinite-loop.pcap
index ea31f0c..ea31f0c 100644
--- a/tests/ldp-infinite-loop.pcap
+++ b/src/tests/ldp-infinite-loop.pcap
Binary files differ
diff --git a/tests/ldp_infloop.out b/src/tests/ldp_infloop.out
index 8c0a062..8c0a062 100644
--- a/tests/ldp_infloop.out
+++ b/src/tests/ldp_infloop.out
diff --git a/tests/lisp_eid_notify.out b/src/tests/lisp_eid_notify.out
index 43c5246..43c5246 100644
--- a/tests/lisp_eid_notify.out
+++ b/src/tests/lisp_eid_notify.out
diff --git a/tests/lisp_eid_notify.pcap b/src/tests/lisp_eid_notify.pcap
index 1f83378..1f83378 100644
--- a/tests/lisp_eid_notify.pcap
+++ b/src/tests/lisp_eid_notify.pcap
Binary files differ
diff --git a/tests/lisp_eid_register.out b/src/tests/lisp_eid_register.out
index 7687b65..7687b65 100644
--- a/tests/lisp_eid_register.out
+++ b/src/tests/lisp_eid_register.out
diff --git a/tests/lisp_eid_register.pcap b/src/tests/lisp_eid_register.pcap
index a6d71ef..a6d71ef 100644
--- a/tests/lisp_eid_register.pcap
+++ b/src/tests/lisp_eid_register.pcap
Binary files differ
diff --git a/tests/lisp_ipv6.out b/src/tests/lisp_ipv6.out
index 39e84c3..39e84c3 100644
--- a/tests/lisp_ipv6.out
+++ b/src/tests/lisp_ipv6.out
diff --git a/tests/lisp_ipv6.pcap b/src/tests/lisp_ipv6.pcap
index b878efd..b878efd 100644
--- a/tests/lisp_ipv6.pcap
+++ b/src/tests/lisp_ipv6.pcap
Binary files differ
diff --git a/tests/lldp_cdp-ev.out b/src/tests/lldp_cdp-ev.out
index 0029a75..0029a75 100644
--- a/tests/lldp_cdp-ev.out
+++ b/src/tests/lldp_cdp-ev.out
diff --git a/tests/lmp-v.out b/src/tests/lmp-v.out
index fcd3bed..fcd3bed 100644
--- a/tests/lmp-v.out
+++ b/src/tests/lmp-v.out
diff --git a/tests/lmp-v.sh b/src/tests/lmp-v.sh
index 138a0cd..138a0cd 100644
--- a/tests/lmp-v.sh
+++ b/src/tests/lmp-v.sh
diff --git a/tests/lmp.out b/src/tests/lmp.out
index 1338982..1338982 100644
--- a/tests/lmp.out
+++ b/src/tests/lmp.out
diff --git a/tests/lmp.pcap b/src/tests/lmp.pcap
index a07e3bb..a07e3bb 100644
--- a/tests/lmp.pcap
+++ b/src/tests/lmp.pcap
Binary files differ
diff --git a/tests/loopback.out b/src/tests/loopback.out
index 7b8dece..7b8dece 100644
--- a/tests/loopback.out
+++ b/src/tests/loopback.out
diff --git a/tests/loopback.pcap b/src/tests/loopback.pcap
index 384c0d3..384c0d3 100644
--- a/tests/loopback.pcap
+++ b/src/tests/loopback.pcap
Binary files differ
diff --git a/tests/lspping-fec-ldp-v.out b/src/tests/lspping-fec-ldp-v.out
index e4a886b..e4a886b 100644
--- a/tests/lspping-fec-ldp-v.out
+++ b/src/tests/lspping-fec-ldp-v.out
diff --git a/tests/lspping-fec-ldp-vv.out b/src/tests/lspping-fec-ldp-vv.out
index af0d1f6..af0d1f6 100644
--- a/tests/lspping-fec-ldp-vv.out
+++ b/src/tests/lspping-fec-ldp-vv.out
diff --git a/tests/lspping-fec-ldp.out b/src/tests/lspping-fec-ldp.out
index 2df8b4c..2df8b4c 100644
--- a/tests/lspping-fec-ldp.out
+++ b/src/tests/lspping-fec-ldp.out
diff --git a/tests/lspping-fec-ldp.pcap b/src/tests/lspping-fec-ldp.pcap
index 87e86c7..87e86c7 100644
--- a/tests/lspping-fec-ldp.pcap
+++ b/src/tests/lspping-fec-ldp.pcap
Binary files differ
diff --git a/tests/lspping-fec-rsvp-v.out b/src/tests/lspping-fec-rsvp-v.out
index f79043e..f79043e 100644
--- a/tests/lspping-fec-rsvp-v.out
+++ b/src/tests/lspping-fec-rsvp-v.out
diff --git a/tests/lspping-fec-rsvp-vv.out b/src/tests/lspping-fec-rsvp-vv.out
index 391dc5a..391dc5a 100644
--- a/tests/lspping-fec-rsvp-vv.out
+++ b/src/tests/lspping-fec-rsvp-vv.out
diff --git a/tests/lspping-fec-rsvp.out b/src/tests/lspping-fec-rsvp.out
index 7013fae..7013fae 100644
--- a/tests/lspping-fec-rsvp.out
+++ b/src/tests/lspping-fec-rsvp.out
diff --git a/tests/lspping-fec-rsvp.pcap b/src/tests/lspping-fec-rsvp.pcap
index d9dcf54..d9dcf54 100644
--- a/tests/lspping-fec-rsvp.pcap
+++ b/src/tests/lspping-fec-rsvp.pcap
Binary files differ
diff --git a/tests/medsa-e.out b/src/tests/medsa-e.out
index 265be0d..265be0d 100644
--- a/tests/medsa-e.out
+++ b/src/tests/medsa-e.out
diff --git a/tests/medsa.out b/src/tests/medsa.out
index c81ce48..c81ce48 100644
--- a/tests/medsa.out
+++ b/src/tests/medsa.out
diff --git a/tests/medsa.pcap b/src/tests/medsa.pcap
index ab20710..ab20710 100644
--- a/tests/medsa.pcap
+++ b/src/tests/medsa.pcap
Binary files differ
diff --git a/tests/mpbgp-linklocal-nexthop.out b/src/tests/mpbgp-linklocal-nexthop.out
index 9a4c2bd..9a4c2bd 100644
--- a/tests/mpbgp-linklocal-nexthop.out
+++ b/src/tests/mpbgp-linklocal-nexthop.out
diff --git a/tests/mpbgp-linklocal-nexthop.pcap b/src/tests/mpbgp-linklocal-nexthop.pcap
index 1ac823d..1ac823d 100644
--- a/tests/mpbgp-linklocal-nexthop.pcap
+++ b/src/tests/mpbgp-linklocal-nexthop.pcap
Binary files differ
diff --git a/tests/mpls-ldp-hello.out b/src/tests/mpls-ldp-hello.out
index a8b2373..a8b2373 100644
--- a/tests/mpls-ldp-hello.out
+++ b/src/tests/mpls-ldp-hello.out
diff --git a/tests/mpls-ldp-hello.pcap b/src/tests/mpls-ldp-hello.pcap
index a4a42b7..a4a42b7 100644
--- a/tests/mpls-ldp-hello.pcap
+++ b/src/tests/mpls-ldp-hello.pcap
Binary files differ
diff --git a/tests/mpls-traceroute-v.out b/src/tests/mpls-traceroute-v.out
index b70c2e3..b70c2e3 100644
--- a/tests/mpls-traceroute-v.out
+++ b/src/tests/mpls-traceroute-v.out
diff --git a/tests/mpls-traceroute.out b/src/tests/mpls-traceroute.out
index fe8c116..fe8c116 100644
--- a/tests/mpls-traceroute.out
+++ b/src/tests/mpls-traceroute.out
diff --git a/tests/mpls-traceroute.pcap b/src/tests/mpls-traceroute.pcap
index ac0b6b3..ac0b6b3 100644
--- a/tests/mpls-traceroute.pcap
+++ b/src/tests/mpls-traceroute.pcap
Binary files differ
diff --git a/tests/mptcp-fclose.out b/src/tests/mptcp-fclose.out
index 90ab599..90ab599 100644
--- a/tests/mptcp-fclose.out
+++ b/src/tests/mptcp-fclose.out
diff --git a/tests/mptcp-fclose.pcap b/src/tests/mptcp-fclose.pcap
index 6949548..6949548 100644
--- a/tests/mptcp-fclose.pcap
+++ b/src/tests/mptcp-fclose.pcap
Binary files differ
diff --git a/tests/mptcp.out b/src/tests/mptcp.out
index e52cab1..e52cab1 100644
--- a/tests/mptcp.out
+++ b/src/tests/mptcp.out
diff --git a/tests/mptcp.pcap b/src/tests/mptcp.pcap
index c3eaae5..c3eaae5 100644
--- a/tests/mptcp.pcap
+++ b/src/tests/mptcp.pcap
Binary files differ
diff --git a/tests/mrinfo_query.pcap b/src/tests/mrinfo_query.pcap
index 63a86d6..63a86d6 100644
--- a/tests/mrinfo_query.pcap
+++ b/src/tests/mrinfo_query.pcap
Binary files differ
diff --git a/tests/msnlb.out b/src/tests/msnlb.out
index 194dbcd..194dbcd 100644
--- a/tests/msnlb.out
+++ b/src/tests/msnlb.out
diff --git a/tests/msnlb.pcap b/src/tests/msnlb.pcap
index dab88fe..dab88fe 100644
--- a/tests/msnlb.pcap
+++ b/src/tests/msnlb.pcap
Binary files differ
diff --git a/tests/msnlb2.out b/src/tests/msnlb2.out
index 00fc1a6..00fc1a6 100644
--- a/tests/msnlb2.out
+++ b/src/tests/msnlb2.out
diff --git a/tests/msnlb2.pcap b/src/tests/msnlb2.pcap
index 270476d..270476d 100644
--- a/tests/msnlb2.pcap
+++ b/src/tests/msnlb2.pcap
Binary files differ
diff --git a/tests/mstp-v.out b/src/tests/mstp-v.out
index 16127b5..16127b5 100644
--- a/tests/mstp-v.out
+++ b/src/tests/mstp-v.out
diff --git a/tests/mtrace.out b/src/tests/mtrace.out
index 2995f60..2995f60 100644
--- a/tests/mtrace.out
+++ b/src/tests/mtrace.out
diff --git a/tests/mtrace.pcap b/src/tests/mtrace.pcap
index 0d16dd3..0d16dd3 100644
--- a/tests/mtrace.pcap
+++ b/src/tests/mtrace.pcap
Binary files differ
diff --git a/tests/nflog-e.out b/src/tests/nflog-e.out
index 636d38e..636d38e 100644
--- a/tests/nflog-e.out
+++ b/src/tests/nflog-e.out
diff --git a/tests/nflog-e.sh b/src/tests/nflog-e.sh
index 00ac4fd..00ac4fd 100644
--- a/tests/nflog-e.sh
+++ b/src/tests/nflog-e.sh
diff --git a/tests/nflog.pcap b/src/tests/nflog.pcap
index 9151d6a..9151d6a 100644
--- a/tests/nflog.pcap
+++ b/src/tests/nflog.pcap
Binary files differ
diff --git a/tests/nsh-over-vxlan-gpe-v.out b/src/tests/nsh-over-vxlan-gpe-v.out
index f8db332..f8db332 100644
--- a/tests/nsh-over-vxlan-gpe-v.out
+++ b/src/tests/nsh-over-vxlan-gpe-v.out
diff --git a/tests/nsh-over-vxlan-gpe-vv.out b/src/tests/nsh-over-vxlan-gpe-vv.out
index 5233701..5233701 100644
--- a/tests/nsh-over-vxlan-gpe-vv.out
+++ b/src/tests/nsh-over-vxlan-gpe-vv.out
diff --git a/tests/nsh-over-vxlan-gpe-vvv.out b/src/tests/nsh-over-vxlan-gpe-vvv.out
index f8af283..f8af283 100644
--- a/tests/nsh-over-vxlan-gpe-vvv.out
+++ b/src/tests/nsh-over-vxlan-gpe-vvv.out
diff --git a/tests/nsh-over-vxlan-gpe.out b/src/tests/nsh-over-vxlan-gpe.out
index 3348a42..3348a42 100644
--- a/tests/nsh-over-vxlan-gpe.out
+++ b/src/tests/nsh-over-vxlan-gpe.out
diff --git a/tests/nsh-over-vxlan-gpe.pcap b/src/tests/nsh-over-vxlan-gpe.pcap
index 0cc3b67..0cc3b67 100644
--- a/tests/nsh-over-vxlan-gpe.pcap
+++ b/src/tests/nsh-over-vxlan-gpe.pcap
Binary files differ
diff --git a/tests/of10_7050q-v.out b/src/tests/of10_7050q-v.out
index 4929920..4929920 100644
--- a/tests/of10_7050q-v.out
+++ b/src/tests/of10_7050q-v.out
diff --git a/tests/of10_7050q.pcap b/src/tests/of10_7050q.pcap
index 43602af..43602af 100644
--- a/tests/of10_7050q.pcap
+++ b/src/tests/of10_7050q.pcap
Binary files differ
diff --git a/tests/of10_7050sx_bsn-vv.out b/src/tests/of10_7050sx_bsn-vv.out
index a1674fc..a1674fc 100644
--- a/tests/of10_7050sx_bsn-vv.out
+++ b/src/tests/of10_7050sx_bsn-vv.out
diff --git a/tests/of10_7050sx_bsn.pcap b/src/tests/of10_7050sx_bsn.pcap
index c5164f1..c5164f1 100644
--- a/tests/of10_7050sx_bsn.pcap
+++ b/src/tests/of10_7050sx_bsn.pcap
Binary files differ
diff --git a/tests/of10_p3295-vv.out b/src/tests/of10_p3295-vv.out
index 1e9f5d5..1e9f5d5 100644
--- a/tests/of10_p3295-vv.out
+++ b/src/tests/of10_p3295-vv.out
diff --git a/tests/of10_p3295.pcap b/src/tests/of10_p3295.pcap
index 85f1b27..85f1b27 100644
--- a/tests/of10_p3295.pcap
+++ b/src/tests/of10_p3295.pcap
Binary files differ
diff --git a/tests/of10_pf5240-vv.out b/src/tests/of10_pf5240-vv.out
index a7685e9..a7685e9 100644
--- a/tests/of10_pf5240-vv.out
+++ b/src/tests/of10_pf5240-vv.out
diff --git a/tests/of10_pf5240.pcap b/src/tests/of10_pf5240.pcap
index 9f5aed2..9f5aed2 100644
--- a/tests/of10_pf5240.pcap
+++ b/src/tests/of10_pf5240.pcap
Binary files differ
diff --git a/tests/of10_s4810-vvvv.out b/src/tests/of10_s4810-vvvv.out
index 2fb45d6..2fb45d6 100644
--- a/tests/of10_s4810-vvvv.out
+++ b/src/tests/of10_s4810-vvvv.out
diff --git a/tests/of10_s4810.pcap b/src/tests/of10_s4810.pcap
index 4c9c194..4c9c194 100644
--- a/tests/of10_s4810.pcap
+++ b/src/tests/of10_s4810.pcap
Binary files differ
diff --git a/tests/ospf-gmpls.out b/src/tests/ospf-gmpls.out
index e4dd9ab..e4dd9ab 100644
--- a/tests/ospf-gmpls.out
+++ b/src/tests/ospf-gmpls.out
diff --git a/tests/ospf-gmpls.pcap b/src/tests/ospf-gmpls.pcap
index d36982a..d36982a 100644
--- a/tests/ospf-gmpls.pcap
+++ b/src/tests/ospf-gmpls.pcap
Binary files differ
diff --git a/tests/ospf3_ah-vv.out b/src/tests/ospf3_ah-vv.out
index 54a521b..54a521b 100644
--- a/tests/ospf3_ah-vv.out
+++ b/src/tests/ospf3_ah-vv.out
diff --git a/tests/ospf3_auth-vv.out b/src/tests/ospf3_auth-vv.out
index 69b7c26..69b7c26 100644
--- a/tests/ospf3_auth-vv.out
+++ b/src/tests/ospf3_auth-vv.out
diff --git a/tests/ospf3_auth.pcap b/src/tests/ospf3_auth.pcap
index 4b5bc81..4b5bc81 100644
--- a/tests/ospf3_auth.pcap
+++ b/src/tests/ospf3_auth.pcap
Binary files differ
diff --git a/tests/ospf3_bc-vv.out b/src/tests/ospf3_bc-vv.out
index 3cc3f36..3cc3f36 100644
--- a/tests/ospf3_bc-vv.out
+++ b/src/tests/ospf3_bc-vv.out
diff --git a/tests/ospf3_mp-vv.out b/src/tests/ospf3_mp-vv.out
index ee1ef04..ee1ef04 100644
--- a/tests/ospf3_mp-vv.out
+++ b/src/tests/ospf3_mp-vv.out
diff --git a/tests/ospf3_nbma-vv.out b/src/tests/ospf3_nbma-vv.out
index 5b8eed9..5b8eed9 100644
--- a/tests/ospf3_nbma-vv.out
+++ b/src/tests/ospf3_nbma-vv.out
diff --git a/tests/pcap-invalid-version-1.out b/src/tests/pcap-invalid-version-1.out
index 5edcdda..5edcdda 100644
--- a/tests/pcap-invalid-version-1.out
+++ b/src/tests/pcap-invalid-version-1.out
diff --git a/tests/pcap-invalid-version-1.pcap b/src/tests/pcap-invalid-version-1.pcap
index 9dd0429..9dd0429 100644
--- a/tests/pcap-invalid-version-1.pcap
+++ b/src/tests/pcap-invalid-version-1.pcap
Binary files differ
diff --git a/tests/pcap-invalid-version-2.out b/src/tests/pcap-invalid-version-2.out
index 5edcdda..5edcdda 100644
--- a/tests/pcap-invalid-version-2.out
+++ b/src/tests/pcap-invalid-version-2.out
diff --git a/tests/pcap-invalid-version-2.pcap b/src/tests/pcap-invalid-version-2.pcap
index 4217d1e..4217d1e 100644
--- a/tests/pcap-invalid-version-2.pcap
+++ b/src/tests/pcap-invalid-version-2.pcap
Binary files differ
diff --git a/tests/pcap-ng-invalid-vers-1.out b/src/tests/pcap-ng-invalid-vers-1.out
index 5edcdda..5edcdda 100644
--- a/tests/pcap-ng-invalid-vers-1.out
+++ b/src/tests/pcap-ng-invalid-vers-1.out
diff --git a/tests/pcap-ng-invalid-vers-1.pcap b/src/tests/pcap-ng-invalid-vers-1.pcap
index 7bbb7ab..7bbb7ab 100644
--- a/tests/pcap-ng-invalid-vers-1.pcap
+++ b/src/tests/pcap-ng-invalid-vers-1.pcap
Binary files differ
diff --git a/tests/pcap-ng-invalid-vers-2.out b/src/tests/pcap-ng-invalid-vers-2.out
index 5edcdda..5edcdda 100644
--- a/tests/pcap-ng-invalid-vers-2.out
+++ b/src/tests/pcap-ng-invalid-vers-2.out
diff --git a/tests/pcap-ng-invalid-vers-2.pcap b/src/tests/pcap-ng-invalid-vers-2.pcap
index 77595f4..77595f4 100644
--- a/tests/pcap-ng-invalid-vers-2.pcap
+++ b/src/tests/pcap-ng-invalid-vers-2.pcap
Binary files differ
diff --git a/tests/pgm_zmtp1.pcap b/src/tests/pgm_zmtp1.pcap
index ee01e91..ee01e91 100644
--- a/tests/pgm_zmtp1.pcap
+++ b/src/tests/pgm_zmtp1.pcap
Binary files differ
diff --git a/tests/pgm_zmtp1v.out b/src/tests/pgm_zmtp1v.out
index 09044a7..09044a7 100644
--- a/tests/pgm_zmtp1v.out
+++ b/src/tests/pgm_zmtp1v.out
diff --git a/tests/pgmv.out b/src/tests/pgmv.out
index 606f3c0..606f3c0 100644
--- a/tests/pgmv.out
+++ b/src/tests/pgmv.out
diff --git a/tests/pimv2_bootstrap-v.out b/src/tests/pimv2_bootstrap-v.out
index 1d56445..1d56445 100644
--- a/tests/pimv2_bootstrap-v.out
+++ b/src/tests/pimv2_bootstrap-v.out
diff --git a/tests/pimv2_dm-v.out b/src/tests/pimv2_dm-v.out
index 334120b..334120b 100644
--- a/tests/pimv2_dm-v.out
+++ b/src/tests/pimv2_dm-v.out
diff --git a/tests/pimv2_hellos-v.out b/src/tests/pimv2_hellos-v.out
index 535dd52..535dd52 100644
--- a/tests/pimv2_hellos-v.out
+++ b/src/tests/pimv2_hellos-v.out
diff --git a/tests/pimv2_register-v.out b/src/tests/pimv2_register-v.out
index 54d4407..54d4407 100644
--- a/tests/pimv2_register-v.out
+++ b/src/tests/pimv2_register-v.out
diff --git a/tests/pimv2_sm-v.out b/src/tests/pimv2_sm-v.out
index 546316a..546316a 100644
--- a/tests/pimv2_sm-v.out
+++ b/src/tests/pimv2_sm-v.out
diff --git a/tests/pppoe.out b/src/tests/pppoe.out
index b8f95e0..b8f95e0 100644
--- a/tests/pppoe.out
+++ b/src/tests/pppoe.out
diff --git a/tests/pppoe.pcap b/src/tests/pppoe.pcap
index 3296174..3296174 100644
--- a/tests/pppoe.pcap
+++ b/src/tests/pppoe.pcap
Binary files differ
diff --git a/tests/pppoes.out b/src/tests/pppoes.out
index 608c5d7..608c5d7 100644
--- a/tests/pppoes.out
+++ b/src/tests/pppoes.out
diff --git a/tests/pppoes.pcap b/src/tests/pppoes.pcap
index a2c7698..a2c7698 100644
--- a/tests/pppoes.pcap
+++ b/src/tests/pppoes.pcap
Binary files differ
diff --git a/tests/pppoes_id.out b/src/tests/pppoes_id.out
index ef794fe..ef794fe 100644
--- a/tests/pppoes_id.out
+++ b/src/tests/pppoes_id.out
diff --git a/tests/print-A.out b/src/tests/print-A.out
index d35b968..d35b968 100644
--- a/tests/print-A.out
+++ b/src/tests/print-A.out
diff --git a/tests/print-AA.out b/src/tests/print-AA.out
index d2ea084..d2ea084 100644
--- a/tests/print-AA.out
+++ b/src/tests/print-AA.out
diff --git a/tests/print-capX.out b/src/tests/print-capX.out
index 8a27a96..8a27a96 100644
--- a/tests/print-capX.out
+++ b/src/tests/print-capX.out
diff --git a/tests/print-capXX.out b/src/tests/print-capXX.out
index 8fc3095..8fc3095 100644
--- a/tests/print-capXX.out
+++ b/src/tests/print-capXX.out
diff --git a/tests/print-flags.pcap b/src/tests/print-flags.pcap
index 8798c69..8798c69 100644
--- a/tests/print-flags.pcap
+++ b/src/tests/print-flags.pcap
Binary files differ
diff --git a/tests/print-x.out b/src/tests/print-x.out
index f2a4e2c..f2a4e2c 100644
--- a/tests/print-x.out
+++ b/src/tests/print-x.out
diff --git a/tests/print-xx.out b/src/tests/print-xx.out
index 542fdc3..542fdc3 100644
--- a/tests/print-xx.out
+++ b/src/tests/print-xx.out
diff --git a/tests/radius-port1700-v.out b/src/tests/radius-port1700-v.out
index 389c763..389c763 100644
--- a/tests/radius-port1700-v.out
+++ b/src/tests/radius-port1700-v.out
diff --git a/tests/radius-rfc4675-v.out b/src/tests/radius-rfc4675-v.out
index c1cea56..c1cea56 100644
--- a/tests/radius-rfc4675-v.out
+++ b/src/tests/radius-rfc4675-v.out
diff --git a/tests/radius-rfc5176-v.out b/src/tests/radius-rfc5176-v.out
index aa3210d..aa3210d 100644
--- a/tests/radius-rfc5176-v.out
+++ b/src/tests/radius-rfc5176-v.out
diff --git a/tests/radius-v.out b/src/tests/radius-v.out
index 6aae418..6aae418 100644
--- a/tests/radius-v.out
+++ b/src/tests/radius-v.out
diff --git a/tests/resp_1.out b/src/tests/resp_1.out
index 88c9140..88c9140 100644
--- a/tests/resp_1.out
+++ b/src/tests/resp_1.out
diff --git a/tests/resp_1_benchmark.pcap b/src/tests/resp_1_benchmark.pcap
index b746f1c..b746f1c 100644
--- a/tests/resp_1_benchmark.pcap
+++ b/src/tests/resp_1_benchmark.pcap
Binary files differ
diff --git a/tests/resp_2.out b/src/tests/resp_2.out
index 37333d7..37333d7 100644
--- a/tests/resp_2.out
+++ b/src/tests/resp_2.out
diff --git a/tests/resp_2_inline.pcap b/src/tests/resp_2_inline.pcap
index e22b5f2..e22b5f2 100644
--- a/tests/resp_2_inline.pcap
+++ b/src/tests/resp_2_inline.pcap
Binary files differ
diff --git a/tests/resp_3.out b/src/tests/resp_3.out
index 8c63516..8c63516 100644
--- a/tests/resp_3.out
+++ b/src/tests/resp_3.out
diff --git a/tests/resp_3_malicious.pcap b/src/tests/resp_3_malicious.pcap
index 02cd53f..02cd53f 100644
--- a/tests/resp_3_malicious.pcap
+++ b/src/tests/resp_3_malicious.pcap
Binary files differ
diff --git a/tests/ripv1v2.out b/src/tests/ripv1v2.out
index 65243d8..65243d8 100644
--- a/tests/ripv1v2.out
+++ b/src/tests/ripv1v2.out
diff --git a/tests/ripv1v2.pcap b/src/tests/ripv1v2.pcap
index b98056f..b98056f 100644
--- a/tests/ripv1v2.pcap
+++ b/src/tests/ripv1v2.pcap
Binary files differ
diff --git a/tests/ripv2_auth.out b/src/tests/ripv2_auth.out
index 618e4a7..618e4a7 100644
--- a/tests/ripv2_auth.out
+++ b/src/tests/ripv2_auth.out
diff --git a/tests/ripv2_auth.pcap b/src/tests/ripv2_auth.pcap
index 57b5a41..57b5a41 100644
--- a/tests/ripv2_auth.pcap
+++ b/src/tests/ripv2_auth.pcap
Binary files differ
diff --git a/tests/rpl-14-dao.pcap b/src/tests/rpl-14-dao.pcap
index 9a164e4..9a164e4 100644
--- a/tests/rpl-14-dao.pcap
+++ b/src/tests/rpl-14-dao.pcap
Binary files differ
diff --git a/tests/rpl-14-daovvv.out b/src/tests/rpl-14-daovvv.out
index 7e4b8a5..7e4b8a5 100644
--- a/tests/rpl-14-daovvv.out
+++ b/src/tests/rpl-14-daovvv.out
diff --git a/tests/rpl-19-pickdag.out b/src/tests/rpl-19-pickdag.out
index d3c41ee..d3c41ee 100644
--- a/tests/rpl-19-pickdag.out
+++ b/src/tests/rpl-19-pickdag.out
diff --git a/tests/rpl-19-pickdag.pcap b/src/tests/rpl-19-pickdag.pcap
index 3eca6c9..3eca6c9 100644
--- a/tests/rpl-19-pickdag.pcap
+++ b/src/tests/rpl-19-pickdag.pcap
Binary files differ
diff --git a/tests/rpl-19-pickdagvvv.out b/src/tests/rpl-19-pickdagvvv.out
index deee033..deee033 100644
--- a/tests/rpl-19-pickdagvvv.out
+++ b/src/tests/rpl-19-pickdagvvv.out
diff --git a/tests/rpl-26-senddaoack.pcap b/src/tests/rpl-26-senddaoack.pcap
index fd397a4..fd397a4 100644
--- a/tests/rpl-26-senddaoack.pcap
+++ b/src/tests/rpl-26-senddaoack.pcap
Binary files differ
diff --git a/tests/rpl-26-senddaovv.out b/src/tests/rpl-26-senddaovv.out
index 1b642bb..1b642bb 100644
--- a/tests/rpl-26-senddaovv.out
+++ b/src/tests/rpl-26-senddaovv.out
diff --git a/tests/rpvst-v.out b/src/tests/rpvst-v.out
index c55c1eb..c55c1eb 100644
--- a/tests/rpvst-v.out
+++ b/src/tests/rpvst-v.out
diff --git a/tests/rpvstp-trunk-native-vid5.pcap b/src/tests/rpvstp-trunk-native-vid5.pcap
index 4c9908b..4c9908b 100644
--- a/tests/rpvstp-trunk-native-vid5.pcap
+++ b/src/tests/rpvstp-trunk-native-vid5.pcap
Binary files differ
diff --git a/tests/rstp-v.out b/src/tests/rstp-v.out
index 318b450..318b450 100644
--- a/tests/rstp-v.out
+++ b/src/tests/rstp-v.out
diff --git a/tests/rsvp-infinite-loop.pcap b/src/tests/rsvp-infinite-loop.pcap
index dc03dac..dc03dac 100644
--- a/tests/rsvp-infinite-loop.pcap
+++ b/src/tests/rsvp-infinite-loop.pcap
Binary files differ
diff --git a/tests/rsvp_infloop-v.out b/src/tests/rsvp_infloop-v.out
index 9084e15..9084e15 100644
--- a/tests/rsvp_infloop-v.out
+++ b/src/tests/rsvp_infloop-v.out
diff --git a/tests/sflow_multiple_counter_30_pdus-nv.out b/src/tests/sflow_multiple_counter_30_pdus-nv.out
index 45a2d90..45a2d90 100644
--- a/tests/sflow_multiple_counter_30_pdus-nv.out
+++ b/src/tests/sflow_multiple_counter_30_pdus-nv.out
diff --git a/tests/sflow_multiple_counter_30_pdus.out b/src/tests/sflow_multiple_counter_30_pdus.out
index 1b1938e..1b1938e 100644
--- a/tests/sflow_multiple_counter_30_pdus.out
+++ b/src/tests/sflow_multiple_counter_30_pdus.out
diff --git a/tests/sflow_multiple_counter_30_pdus.pcap b/src/tests/sflow_multiple_counter_30_pdus.pcap
index 5ec39c4..5ec39c4 100644
--- a/tests/sflow_multiple_counter_30_pdus.pcap
+++ b/src/tests/sflow_multiple_counter_30_pdus.pcap
Binary files differ
diff --git a/tests/spb.out b/src/tests/spb.out
index ef2f82a..ef2f82a 100644
--- a/tests/spb.out
+++ b/src/tests/spb.out
diff --git a/tests/spb.pcap b/src/tests/spb.pcap
index 99e2505..99e2505 100644
--- a/tests/spb.pcap
+++ b/src/tests/spb.pcap
Binary files differ
diff --git a/tests/spb_bpduv4.out b/src/tests/spb_bpduv4.out
index 748d4d2..748d4d2 100644
--- a/tests/spb_bpduv4.out
+++ b/src/tests/spb_bpduv4.out
diff --git a/tests/spb_bpduv4.pcap b/src/tests/spb_bpduv4.pcap
index b12d4c1..b12d4c1 100644
--- a/tests/spb_bpduv4.pcap
+++ b/src/tests/spb_bpduv4.pcap
Binary files differ
diff --git a/tests/stp-v.out b/src/tests/stp-v.out
index 66d3081..66d3081 100644
--- a/tests/stp-v.out
+++ b/src/tests/stp-v.out
diff --git a/tests/syslog-v.out b/src/tests/syslog-v.out
index 5ebed29..5ebed29 100644
--- a/tests/syslog-v.out
+++ b/src/tests/syslog-v.out
diff --git a/tests/syslog_udp.pcap b/src/tests/syslog_udp.pcap
index 06d54e6..06d54e6 100644
--- a/tests/syslog_udp.pcap
+++ b/src/tests/syslog_udp.pcap
Binary files differ
diff --git a/tests/tfo-5c1fa7f9ae91.pcap b/src/tests/tfo-5c1fa7f9ae91.pcap
index 43ae5b7..43ae5b7 100644
--- a/tests/tfo-5c1fa7f9ae91.pcap
+++ b/src/tests/tfo-5c1fa7f9ae91.pcap
Binary files differ
diff --git a/tests/tfo.out b/src/tests/tfo.out
index ff5a955..ff5a955 100644
--- a/tests/tfo.out
+++ b/src/tests/tfo.out
diff --git a/tests/udld-v.out b/src/tests/udld-v.out
index d4361f4..d4361f4 100644
--- a/tests/udld-v.out
+++ b/src/tests/udld-v.out
diff --git a/tests/unaligned-nfs-1.out b/src/tests/unaligned-nfs-1.out
index e74aa30..e74aa30 100644
--- a/tests/unaligned-nfs-1.out
+++ b/src/tests/unaligned-nfs-1.out
diff --git a/tests/unaligned-nfs-1.pcap b/src/tests/unaligned-nfs-1.pcap
index 5f12c13..5f12c13 100644
--- a/tests/unaligned-nfs-1.pcap
+++ b/src/tests/unaligned-nfs-1.pcap
Binary files differ
diff --git a/tests/vrrp-v.out b/src/tests/vrrp-v.out
index 47b3c7d..47b3c7d 100644
--- a/tests/vrrp-v.out
+++ b/src/tests/vrrp-v.out
diff --git a/tests/vrrp.out b/src/tests/vrrp.out
index c9b1664..c9b1664 100644
--- a/tests/vrrp.out
+++ b/src/tests/vrrp.out
diff --git a/tests/vrrp.pcap b/src/tests/vrrp.pcap
index 8db1e20..8db1e20 100644
--- a/tests/vrrp.pcap
+++ b/src/tests/vrrp.pcap
Binary files differ
diff --git a/tests/vxlan.out b/src/tests/vxlan.out
index b422586..b422586 100644
--- a/tests/vxlan.out
+++ b/src/tests/vxlan.out
diff --git a/tests/vxlan.pcap b/src/tests/vxlan.pcap
index 04f0c2f..04f0c2f 100644
--- a/tests/vxlan.pcap
+++ b/src/tests/vxlan.pcap
Binary files differ
diff --git a/tests/zmtp1.out b/src/tests/zmtp1.out
index 5b52877..5b52877 100644
--- a/tests/zmtp1.out
+++ b/src/tests/zmtp1.out
diff --git a/tests/zmtp1.pcap b/src/tests/zmtp1.pcap
index 55aebea..55aebea 100644
--- a/tests/zmtp1.pcap
+++ b/src/tests/zmtp1.pcap
Binary files differ
diff --git a/timeval-operations.h b/src/timeval-operations.h
index 4f4e85c..4f4e85c 100644
--- a/timeval-operations.h
+++ b/src/timeval-operations.h
diff --git a/udp.h b/src/udp.h
index abed3c6..abed3c6 100644
--- a/udp.h
+++ b/src/udp.h
diff --git a/util-print.c b/src/util-print.c
index 6858ce3..6858ce3 100644
--- a/util-print.c
+++ b/src/util-print.c
diff --git a/util.c b/src/util.c
index a6f520e..a6f520e 100644
--- a/util.c
+++ b/src/util.c
diff --git a/vfprintf.c b/src/vfprintf.c
index ae28bcf..ae28bcf 100644
--- a/vfprintf.c
+++ b/src/vfprintf.c
diff --git a/win32/prj/GNUmakefile b/src/win32/prj/GNUmakefile
index d0504e3..d0504e3 100644
--- a/win32/prj/GNUmakefile
+++ b/src/win32/prj/GNUmakefile
diff --git a/win32/prj/WinDump.dsp b/src/win32/prj/WinDump.dsp
index ea05ba0..ea05ba0 100644
--- a/win32/prj/WinDump.dsp
+++ b/src/win32/prj/WinDump.dsp
diff --git a/win32/prj/WinDump.dsw b/src/win32/prj/WinDump.dsw
index 6bf7408..6bf7408 100644
--- a/win32/prj/WinDump.dsw
+++ b/src/win32/prj/WinDump.dsw