svn commit: r323696 - in vendor/tcpdump/dist: . tests

Gordon Tetlow gordon at FreeBSD.org
Mon Sep 18 04:10:58 UTC 2017


Author: gordon
Date: Mon Sep 18 04:10:54 2017
New Revision: 323696
URL: https://svnweb.freebsd.org/changeset/base/323696

Log:
  Vendor import of tcpdump 4.9.2.
  
  Approved by:	emaste (mentor)

Added:
  vendor/tcpdump/dist/funcattrs.h   (contents, props changed)
  vendor/tcpdump/dist/tests/802_15_4-data.out
  vendor/tcpdump/dist/tests/802_15_4-data.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/802_15_4-oobr-1.out
  vendor/tcpdump/dist/tests/802_15_4-oobr-1.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/802_15_4-oobr-2.out
  vendor/tcpdump/dist/tests/802_15_4-oobr-2.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/802_15_4_beacon.out
  vendor/tcpdump/dist/tests/802_15_4_beacon.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/arp-oobr.out
  vendor/tcpdump/dist/tests/arp-oobr.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/beep-oobr.out
  vendor/tcpdump/dist/tests/beep-oobr.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/bgp-aigp-oobr-nossl.out
  vendor/tcpdump/dist/tests/bgp-aigp-oobr-ssl.out
  vendor/tcpdump/dist/tests/bgp-aigp-oobr.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/bgp-as-path-oobr-nossl.out
  vendor/tcpdump/dist/tests/bgp-as-path-oobr-ssl.out
  vendor/tcpdump/dist/tests/bgp-as-path-oobr.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/bgp_mvpn_6_and_7.out
  vendor/tcpdump/dist/tests/bgp_mvpn_6_and_7.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/bgp_pmsi_tunnel-oobr.out
  vendor/tcpdump/dist/tests/bgp_pmsi_tunnel-oobr.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/bgp_vpn_rt-oobr.out
  vendor/tcpdump/dist/tests/bgp_vpn_rt-oobr.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/bootp_asan-2.out
  vendor/tcpdump/dist/tests/bootp_asan-2.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/bootp_asan.out
  vendor/tcpdump/dist/tests/bootp_asan.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/cfm_sender_id-oobr.out
  vendor/tcpdump/dist/tests/cfm_sender_id-oobr.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/decnet-oobr.out
  vendor/tcpdump/dist/tests/decnet-oobr.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/decnet-shorthdr-oobr.out
  vendor/tcpdump/dist/tests/decnet-shorthdr-oobr.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/dhcp6_reconf_asan.out
  vendor/tcpdump/dist/tests/dhcp6_reconf_asan.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/dns-zlip-1.out
  vendor/tcpdump/dist/tests/dns-zlip-1.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/dns-zlip-2.out
  vendor/tcpdump/dist/tests/dns-zlip-2.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/dns-zlip-3.out
  vendor/tcpdump/dist/tests/dns-zlip-3.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/dns_fwdptr.out
  vendor/tcpdump/dist/tests/dns_fwdptr.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/eap_extract_read2_asan.out
  vendor/tcpdump/dist/tests/eap_extract_read2_asan.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/eigrp-tlv-oobr.out
  vendor/tcpdump/dist/tests/eigrp-tlv-oobr.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/esis_opt_prot-oobr.out
  vendor/tcpdump/dist/tests/esis_opt_prot-oobr.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/esis_snpa_asan-2.out
  vendor/tcpdump/dist/tests/esis_snpa_asan-2.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/esis_snpa_asan-3.out
  vendor/tcpdump/dist/tests/esis_snpa_asan-3.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/esis_snpa_asan-4.out
  vendor/tcpdump/dist/tests/esis_snpa_asan-4.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/esis_snpa_asan-5.out
  vendor/tcpdump/dist/tests/esis_snpa_asan-5.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/esis_snpa_asan.out
  vendor/tcpdump/dist/tests/esis_snpa_asan.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/extract_read2_asan.out
  vendor/tcpdump/dist/tests/extract_read2_asan.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/getname_2_read4_asan.out
  vendor/tcpdump/dist/tests/getname_2_read4_asan.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/hncp_dhcpv4data-oobr.out
  vendor/tcpdump/dist/tests/hncp_dhcpv4data-oobr.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/hncp_dhcpv6data-oobr.out
  vendor/tcpdump/dist/tests/hncp_dhcpv6data-oobr.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/hoobr_aodv_extension.out
  vendor/tcpdump/dist/tests/hoobr_aodv_extension.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/hoobr_chdlc_print.out
  vendor/tcpdump/dist/tests/hoobr_chdlc_print.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/hoobr_juniper.out
  vendor/tcpdump/dist/tests/hoobr_juniper.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/hoobr_juniper2.out
  vendor/tcpdump/dist/tests/hoobr_juniper2.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/hoobr_juniper3.out
  vendor/tcpdump/dist/tests/hoobr_juniper3.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/hoobr_juniper4.out
  vendor/tcpdump/dist/tests/hoobr_juniper4.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/hoobr_lookup_nsap.out
  vendor/tcpdump/dist/tests/hoobr_lookup_nsap.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/hoobr_nfs_printfh.out
  vendor/tcpdump/dist/tests/hoobr_nfs_printfh.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/hoobr_nfs_xid_map_enter.out
  vendor/tcpdump/dist/tests/hoobr_nfs_xid_map_enter.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/hoobr_parse_field.out
  vendor/tcpdump/dist/tests/hoobr_parse_field.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/hoobr_pimv1.out
  vendor/tcpdump/dist/tests/hoobr_pimv1.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/hoobr_ripng_print.out
  vendor/tcpdump/dist/tests/hoobr_ripng_print.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/hoobr_rt6_print.out
  vendor/tcpdump/dist/tests/hoobr_rt6_print.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/hoobr_safeputs.out
  vendor/tcpdump/dist/tests/hoobr_safeputs.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/icmp-cksum-oobr-1.out
  vendor/tcpdump/dist/tests/icmp-cksum-oobr-1.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/icmp-cksum-oobr-2.out
  vendor/tcpdump/dist/tests/icmp-cksum-oobr-2.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/icmp-cksum-oobr-3.out
  vendor/tcpdump/dist/tests/icmp-cksum-oobr-3.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/icmp-cksum-oobr-4.out
  vendor/tcpdump/dist/tests/icmp-cksum-oobr-4.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/icmp6_mobileprefix_asan.out
  vendor/tcpdump/dist/tests/icmp6_mobileprefix_asan.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/icmp6_nodeinfo_oobr.out
  vendor/tcpdump/dist/tests/icmp6_nodeinfo_oobr.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/ieee802.11_rates_oobr.out
  vendor/tcpdump/dist/tests/ieee802.11_rates_oobr.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/ieee802.11_tim_ie_oobr.out
  vendor/tcpdump/dist/tests/ieee802.11_tim_ie_oobr.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/ikev1_id_ipv6_addr_subnet-oobr.out
  vendor/tcpdump/dist/tests/ikev1_id_ipv6_addr_subnet-oobr.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/ip6_frag_asan.out
  vendor/tcpdump/dist/tests/ip6_frag_asan.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/ip_printroute_asan.out
  vendor/tcpdump/dist/tests/ip_printroute_asan.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/ip_ts_opts_asan.out
  vendor/tcpdump/dist/tests/ip_ts_opts_asan.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/ipv6-mobility-header-oobr.out
  vendor/tcpdump/dist/tests/ipv6-mobility-header-oobr.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/ipv6-next-header-oobr-1.out
  vendor/tcpdump/dist/tests/ipv6-next-header-oobr-1.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/ipv6-next-header-oobr-2.out
  vendor/tcpdump/dist/tests/ipv6-next-header-oobr-2.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/ipv6-rthdr-oobr.out
  vendor/tcpdump/dist/tests/ipv6-rthdr-oobr.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/isakmp-3948-oobr-2.out
  vendor/tcpdump/dist/tests/isakmp-3948-oobr-2.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/isakmp-no-none-np.out
  vendor/tcpdump/dist/tests/isakmp-no-none-np.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/isakmp-rfc3948-oobr.out
  vendor/tcpdump/dist/tests/isakmp-rfc3948-oobr.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/isakmp-various-oobr.out
  vendor/tcpdump/dist/tests/isakmp-various-oobr.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/isakmpv1-attr-oobr.out
  vendor/tcpdump/dist/tests/isakmpv1-attr-oobr.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/isis-areaaddr-oobr-1.out
  vendor/tcpdump/dist/tests/isis-areaaddr-oobr-1.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/isis-areaaddr-oobr-2.out
  vendor/tcpdump/dist/tests/isis-areaaddr-oobr-2.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/isis-extd-ipreach-oobr.out
  vendor/tcpdump/dist/tests/isis-extd-ipreach-oobr.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/isis-extd-isreach-oobr.out
  vendor/tcpdump/dist/tests/isis-extd-isreach-oobr.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/isis_stlv_asan-2.out
  vendor/tcpdump/dist/tests/isis_stlv_asan-2.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/isis_stlv_asan-3.out
  vendor/tcpdump/dist/tests/isis_stlv_asan-3.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/isis_stlv_asan-4.out
  vendor/tcpdump/dist/tests/isis_stlv_asan-4.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/isis_stlv_asan.out
  vendor/tcpdump/dist/tests/isis_stlv_asan.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/isis_sysid_asan.out
  vendor/tcpdump/dist/tests/isis_sysid_asan.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/isoclns-oobr.out
  vendor/tcpdump/dist/tests/isoclns-oobr.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/juniper_atm1.out
  vendor/tcpdump/dist/tests/juniper_atm1.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/juniper_es.out
  vendor/tcpdump/dist/tests/juniper_es.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/l2tp-avp-overflow.out
  vendor/tcpdump/dist/tests/l2tp-avp-overflow.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/lldp-infinite-loop-1.out
  vendor/tcpdump/dist/tests/lldp-infinite-loop-1.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/lldp-infinite-loop-2.out
  vendor/tcpdump/dist/tests/lldp-infinite-loop-2.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/lldp_8023_mtu-oobr.out
  vendor/tcpdump/dist/tests/lldp_8023_mtu-oobr.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/lldp_asan.out
  vendor/tcpdump/dist/tests/lldp_asan.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/lldp_mgmt_addr_tlv_asan.out
  vendor/tcpdump/dist/tests/lldp_mgmt_addr_tlv_asan.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/lmpv1_busyloop.out
  vendor/tcpdump/dist/tests/lmpv1_busyloop.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/mlppp-oobr.out
  vendor/tcpdump/dist/tests/mlppp-oobr.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/mobility_opt_asan.out
  vendor/tcpdump/dist/tests/mobility_opt_asan.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/mobility_opt_asan_2.out
  vendor/tcpdump/dist/tests/mobility_opt_asan_2.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/mobility_opt_asan_3.out
  vendor/tcpdump/dist/tests/mobility_opt_asan_3.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/mobility_opt_asan_4.out
  vendor/tcpdump/dist/tests/mobility_opt_asan_4.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/mobility_opt_asan_5.out
  vendor/tcpdump/dist/tests/mobility_opt_asan_5.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/mobility_opt_asan_6.out
  vendor/tcpdump/dist/tests/mobility_opt_asan_6.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/mobility_opt_asan_7.out
  vendor/tcpdump/dist/tests/mobility_opt_asan_7.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/mobility_opt_asan_8.out
  vendor/tcpdump/dist/tests/mobility_opt_asan_8.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/mptcp-dss-oobr.out
  vendor/tcpdump/dist/tests/mptcp-dss-oobr.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/nbns-valgrind.out
  vendor/tcpdump/dist/tests/nbns-valgrind.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/nfs-attr-oobr.out
  vendor/tcpdump/dist/tests/nfs-attr-oobr.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/olsr-oobr-1.out
  vendor/tcpdump/dist/tests/olsr-oobr-1.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/olsr-oobr-2.out
  vendor/tcpdump/dist/tests/olsr-oobr-2.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/oobr_parse_elements.out
  vendor/tcpdump/dist/tests/oobr_parse_elements.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/ospf6_decode_v3_asan.out
  vendor/tcpdump/dist/tests/ospf6_decode_v3_asan.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/pgm_group_addr_asan.out
  vendor/tcpdump/dist/tests/pgm_group_addr_asan.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/pgm_opts_asan.out
  vendor/tcpdump/dist/tests/pgm_opts_asan.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/pgm_opts_asan_2.out
  vendor/tcpdump/dist/tests/pgm_opts_asan_2.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/pgm_opts_asan_3.out
  vendor/tcpdump/dist/tests/pgm_opts_asan_3.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/pim_header_asan-2.out
  vendor/tcpdump/dist/tests/pim_header_asan-2.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/pim_header_asan-3.out
  vendor/tcpdump/dist/tests/pim_header_asan-3.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/pim_header_asan-4.out
  vendor/tcpdump/dist/tests/pim_header_asan-4.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/pim_header_asan.out
  vendor/tcpdump/dist/tests/pim_header_asan.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/pimv2-oobr-1.out
  vendor/tcpdump/dist/tests/pimv2-oobr-1.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/pimv2-oobr-2.out
  vendor/tcpdump/dist/tests/pimv2-oobr-2.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/pimv2-oobr-3.out
  vendor/tcpdump/dist/tests/pimv2-oobr-3.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/pimv2-oobr-4.out
  vendor/tcpdump/dist/tests/pimv2-oobr-4.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/pktap-heap-overflow.out
  vendor/tcpdump/dist/tests/pktap-heap-overflow.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/ppp_ccp_config_deflate_option_asan.out
  vendor/tcpdump/dist/tests/ppp_ccp_config_deflate_option_asan.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/radius_attr_asan.out
  vendor/tcpdump/dist/tests/radius_attr_asan.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/resp_4_infiniteloop.out
  vendor/tcpdump/dist/tests/resp_4_infiniteloop.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/rpki-rtr-oob.out
  vendor/tcpdump/dist/tests/rpki-rtr-oob.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/rsvp_fast_reroute-oobr.out
  vendor/tcpdump/dist/tests/rsvp_fast_reroute-oobr.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/rsvp_uni-oobr-1.out
  vendor/tcpdump/dist/tests/rsvp_uni-oobr-1.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/rsvp_uni-oobr-2.out
  vendor/tcpdump/dist/tests/rsvp_uni-oobr-2.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/rsvp_uni-oobr-3.out
  vendor/tcpdump/dist/tests/rsvp_uni-oobr-3.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/rx_ubik-oobr.out
  vendor/tcpdump/dist/tests/rx_ubik-oobr.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/slip-bad-direction.out
  vendor/tcpdump/dist/tests/slip-bad-direction.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/stp-v4-length-sigsegv.out
  vendor/tcpdump/dist/tests/stp-v4-length-sigsegv.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/telnet-iac-check-oobr.out
  vendor/tcpdump/dist/tests/telnet-iac-check-oobr.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/tok2str-oobr-1.out
  vendor/tcpdump/dist/tests/tok2str-oobr-1.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/tok2str-oobr-2.out
  vendor/tcpdump/dist/tests/tok2str-oobr-2.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/vqp-oobr.out
  vendor/tcpdump/dist/tests/vqp-oobr.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/vtp_asan-2.out
  vendor/tcpdump/dist/tests/vtp_asan-2.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/vtp_asan-3.out
  vendor/tcpdump/dist/tests/vtp_asan-3.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/vtp_asan.out
  vendor/tcpdump/dist/tests/vtp_asan.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/wb-oobr.out
  vendor/tcpdump/dist/tests/wb-oobr.pcap   (contents, props changed)
  vendor/tcpdump/dist/tests/zephyr-oobr.out
  vendor/tcpdump/dist/tests/zephyr-oobr.pcap   (contents, props changed)
Modified:
  vendor/tcpdump/dist/CHANGES
  vendor/tcpdump/dist/CONTRIBUTING
  vendor/tcpdump/dist/CREDITS
  vendor/tcpdump/dist/INSTALL.txt
  vendor/tcpdump/dist/Makefile.in
  vendor/tcpdump/dist/PLATFORMS
  vendor/tcpdump/dist/README.md
  vendor/tcpdump/dist/VERSION
  vendor/tcpdump/dist/aclocal.m4
  vendor/tcpdump/dist/addrtoname.c
  vendor/tcpdump/dist/addrtoname.h
  vendor/tcpdump/dist/addrtostr.c
  vendor/tcpdump/dist/af.c
  vendor/tcpdump/dist/af.h
  vendor/tcpdump/dist/checksum.c
  vendor/tcpdump/dist/config.h.in
  vendor/tcpdump/dist/configure
  vendor/tcpdump/dist/configure.in
  vendor/tcpdump/dist/extract.h
  vendor/tcpdump/dist/gmpls.c
  vendor/tcpdump/dist/gmpls.h
  vendor/tcpdump/dist/ip6.h
  vendor/tcpdump/dist/ipproto.c
  vendor/tcpdump/dist/ipproto.h
  vendor/tcpdump/dist/l2vpn.c
  vendor/tcpdump/dist/l2vpn.h
  vendor/tcpdump/dist/netdissect-stdinc.h
  vendor/tcpdump/dist/netdissect.h
  vendor/tcpdump/dist/nlpid.c
  vendor/tcpdump/dist/nlpid.h
  vendor/tcpdump/dist/oui.c
  vendor/tcpdump/dist/oui.h
  vendor/tcpdump/dist/print-802_11.c
  vendor/tcpdump/dist/print-802_15_4.c
  vendor/tcpdump/dist/print-aodv.c
  vendor/tcpdump/dist/print-arp.c
  vendor/tcpdump/dist/print-atm.c
  vendor/tcpdump/dist/print-beep.c
  vendor/tcpdump/dist/print-bfd.c
  vendor/tcpdump/dist/print-bgp.c
  vendor/tcpdump/dist/print-bootp.c
  vendor/tcpdump/dist/print-cfm.c
  vendor/tcpdump/dist/print-chdlc.c
  vendor/tcpdump/dist/print-cnfp.c
  vendor/tcpdump/dist/print-decnet.c
  vendor/tcpdump/dist/print-dhcp6.c
  vendor/tcpdump/dist/print-domain.c
  vendor/tcpdump/dist/print-eap.c
  vendor/tcpdump/dist/print-eigrp.c
  vendor/tcpdump/dist/print-esp.c
  vendor/tcpdump/dist/print-ether.c
  vendor/tcpdump/dist/print-fr.c
  vendor/tcpdump/dist/print-frag6.c
  vendor/tcpdump/dist/print-gre.c
  vendor/tcpdump/dist/print-hncp.c
  vendor/tcpdump/dist/print-icmp.c
  vendor/tcpdump/dist/print-icmp6.c
  vendor/tcpdump/dist/print-ip.c
  vendor/tcpdump/dist/print-ip6.c
  vendor/tcpdump/dist/print-ip6opts.c
  vendor/tcpdump/dist/print-isakmp.c
  vendor/tcpdump/dist/print-isoclns.c
  vendor/tcpdump/dist/print-juniper.c
  vendor/tcpdump/dist/print-l2tp.c
  vendor/tcpdump/dist/print-ldp.c
  vendor/tcpdump/dist/print-llc.c
  vendor/tcpdump/dist/print-lldp.c
  vendor/tcpdump/dist/print-lmp.c
  vendor/tcpdump/dist/print-lspping.c
  vendor/tcpdump/dist/print-m3ua.c
  vendor/tcpdump/dist/print-mobility.c
  vendor/tcpdump/dist/print-mpcp.c
  vendor/tcpdump/dist/print-mpls.c
  vendor/tcpdump/dist/print-mptcp.c
  vendor/tcpdump/dist/print-nfs.c
  vendor/tcpdump/dist/print-null.c
  vendor/tcpdump/dist/print-olsr.c
  vendor/tcpdump/dist/print-ospf6.c
  vendor/tcpdump/dist/print-pgm.c
  vendor/tcpdump/dist/print-pim.c
  vendor/tcpdump/dist/print-pktap.c
  vendor/tcpdump/dist/print-ppp.c
  vendor/tcpdump/dist/print-radius.c
  vendor/tcpdump/dist/print-resp.c
  vendor/tcpdump/dist/print-ripng.c
  vendor/tcpdump/dist/print-rpki-rtr.c
  vendor/tcpdump/dist/print-rsvp.c
  vendor/tcpdump/dist/print-rt6.c
  vendor/tcpdump/dist/print-rx.c
  vendor/tcpdump/dist/print-sip.c
  vendor/tcpdump/dist/print-sl.c
  vendor/tcpdump/dist/print-slow.c
  vendor/tcpdump/dist/print-stp.c
  vendor/tcpdump/dist/print-syslog.c
  vendor/tcpdump/dist/print-telnet.c
  vendor/tcpdump/dist/print-tftp.c
  vendor/tcpdump/dist/print-vqp.c
  vendor/tcpdump/dist/print-vtp.c
  vendor/tcpdump/dist/print-wb.c
  vendor/tcpdump/dist/print-zephyr.c
  vendor/tcpdump/dist/print.c
  vendor/tcpdump/dist/signature.c
  vendor/tcpdump/dist/signature.h
  vendor/tcpdump/dist/smbutil.c
  vendor/tcpdump/dist/tcpdump.1.in
  vendor/tcpdump/dist/tcpdump.c
  vendor/tcpdump/dist/tests/TESTLIST
  vendor/tcpdump/dist/tests/TESTonce
  vendor/tcpdump/dist/tests/TESTrun.sh
  vendor/tcpdump/dist/tests/crypto.sh
  vendor/tcpdump/dist/tests/heapoverflow-in_checksum.out
  vendor/tcpdump/dist/tests/isis-seg-fault-1-v.out
  vendor/tcpdump/dist/tests/isis-seg-fault-1-v.sh
  vendor/tcpdump/dist/tests/isis-seg-fault-2-v.out
  vendor/tcpdump/dist/tests/isis-seg-fault-3-v.out
  vendor/tcpdump/dist/tests/isis_infloop-v.out
  vendor/tcpdump/dist/tests/kday2.out
  vendor/tcpdump/dist/tests/kday3.out
  vendor/tcpdump/dist/tests/kday4.out
  vendor/tcpdump/dist/tests/kday5.out
  vendor/tcpdump/dist/tests/kday6.out
  vendor/tcpdump/dist/tests/kday7.out
  vendor/tcpdump/dist/tests/kday8.out
  vendor/tcpdump/dist/tests/lmp-v.sh
  vendor/tcpdump/dist/tests/nflog-e.sh
  vendor/tcpdump/dist/util-print.c

Modified: vendor/tcpdump/dist/CHANGES
==============================================================================
--- vendor/tcpdump/dist/CHANGES	Mon Sep 18 04:09:59 2017	(r323695)
+++ vendor/tcpdump/dist/CHANGES	Mon Sep 18 04:10:54 2017	(r323696)
@@ -1,10 +1,119 @@
+Sunday September 3, 2017 denis at ovsienko.info
+  Summary for 4.9.2 tcpdump release
+    Do not use getprotobynumber() for protocol name resolution.  Do not do
+      any protocol name resolution if -n is specified.
+    Improve errors detection in the test scripts.
+    Fix a segfault with OpenSSL 1.1 and improve OpenSSL usage.
+    Clean up IS-IS printing.
+    Fix buffer overflow vulnerabilities:
+      CVE-2017-11543 (SLIP)
+      CVE-2017-13011 (bittok2str_internal)
+    Fix infinite loop vulnerabilities:
+      CVE-2017-12989 (RESP)
+      CVE-2017-12990 (ISAKMP)
+      CVE-2017-12995 (DNS)
+      CVE-2017-12997 (LLDP)
+    Fix buffer over-read vulnerabilities:
+      CVE-2017-11541 (safeputs)
+      CVE-2017-11542 (PIMv1)
+      CVE-2017-12893 (SMB/CIFS)
+      CVE-2017-12894 (lookup_bytestring)
+      CVE-2017-12895 (ICMP)
+      CVE-2017-12896 (ISAKMP)
+      CVE-2017-12897 (ISO CLNS)
+      CVE-2017-12898 (NFS)
+      CVE-2017-12899 (DECnet)
+      CVE-2017-12900 (tok2strbuf)
+      CVE-2017-12901 (EIGRP)
+      CVE-2017-12902 (Zephyr)
+      CVE-2017-12985 (IPv6)
+      CVE-2017-12986 (IPv6 routing headers)
+      CVE-2017-12987 (IEEE 802.11)
+      CVE-2017-12988 (telnet)
+      CVE-2017-12991 (BGP)
+      CVE-2017-12992 (RIPng)
+      CVE-2017-12993 (Juniper)
+      CVE-2017-11542 (PIMv1)
+      CVE-2017-11541 (safeputs)
+      CVE-2017-12994 (BGP)
+      CVE-2017-12996 (PIMv2)
+      CVE-2017-12998 (ISO IS-IS)
+      CVE-2017-12999 (ISO IS-IS)
+      CVE-2017-13000 (IEEE 802.15.4)
+      CVE-2017-13001 (NFS)
+      CVE-2017-13002 (AODV)
+      CVE-2017-13003 (LMP)
+      CVE-2017-13004 (Juniper)
+      CVE-2017-13005 (NFS)
+      CVE-2017-13006 (L2TP)
+      CVE-2017-13007 (Apple PKTAP)
+      CVE-2017-13008 (IEEE 802.11)
+      CVE-2017-13009 (IPv6 mobility)
+      CVE-2017-13010 (BEEP)
+      CVE-2017-13012 (ICMP)
+      CVE-2017-13013 (ARP)
+      CVE-2017-13014 (White Board)
+      CVE-2017-13015 (EAP)
+      CVE-2017-11543 (SLIP)
+      CVE-2017-13016 (ISO ES-IS)
+      CVE-2017-13017 (DHCPv6)
+      CVE-2017-13018 (PGM)
+      CVE-2017-13019 (PGM)
+      CVE-2017-13020 (VTP)
+      CVE-2017-13021 (ICMPv6)
+      CVE-2017-13022 (IP)
+      CVE-2017-13023 (IPv6 mobility)
+      CVE-2017-13024 (IPv6 mobility)
+      CVE-2017-13025 (IPv6 mobility)
+      CVE-2017-13026 (ISO IS-IS)
+      CVE-2017-13027 (LLDP)
+      CVE-2017-13028 (BOOTP)
+      CVE-2017-13029 (PPP)
+      CVE-2017-13030 (PIM)
+      CVE-2017-13031 (IPv6 fragmentation header)
+      CVE-2017-13032 (RADIUS)
+      CVE-2017-13033 (VTP)
+      CVE-2017-13034 (PGM)
+      CVE-2017-13035 (ISO IS-IS)
+      CVE-2017-13036 (OSPFv3)
+      CVE-2017-13037 (IP)
+      CVE-2017-13038 (PPP)
+      CVE-2017-13039 (ISAKMP)
+      CVE-2017-13040 (MPTCP)
+      CVE-2017-13041 (ICMPv6)
+      CVE-2017-13042 (HNCP)
+      CVE-2017-13043 (BGP)
+      CVE-2017-13044 (HNCP)
+      CVE-2017-13045 (VQP)
+      CVE-2017-13046 (BGP)
+      CVE-2017-13047 (ISO ES-IS)
+      CVE-2017-13048 (RSVP)
+      CVE-2017-13049 (Rx)
+      CVE-2017-13050 (RPKI-Router)
+      CVE-2017-13051 (RSVP)
+      CVE-2017-13052 (CFM)
+      CVE-2017-13053 (BGP)
+      CVE-2017-13054 (LLDP)
+      CVE-2017-13055 (ISO IS-IS)
+      CVE-2017-13687 (Cisco HDLC)
+      CVE-2017-13688 (OLSR)
+      CVE-2017-13689 (IKEv1)
+      CVE-2017-13690 (IKEv2)
+      CVE-2017-13725 (IPv6 routing headers)
+
+Sunday July 23, 2017 denis at ovsienko.info
+  Summary for 4.9.1 tcpdump release
+    CVE-2017-11108/Fix bounds checking for STP.
+    Make assorted documentation updates and fix a few typos in tcpdump output.
+    Fixup -C for file size >2GB (GH #488).
+    Show AddressSanitizer presence in version output.
+    Fix a bug in test scripts (exposed in GH #613).
+    On FreeBSD adjust Capsicum capabilities for netmap.
+    On Linux fix a use-after-free when the requested interface does not exist.
+
 Wednesday January 18, 2017 devel.fx.lebail at orange.fr
   Summary for 4.9.0 tcpdump release
     General updates:
-    Improve separation frontend/backend (tcpdump/libnetdissect)
-    Don't require IPv6 library support in order to support IPv6 addresses
-    Introduce data types to use for integral values in packet structures
-    Fix display of timestamps with -tt, -ttt and -ttttt options
     Fix some heap overflows found with American Fuzzy Lop by Hanno Boeck and others
         (More information in the log with CVE-2016-* and CVE-2017-*)
     Change the way protocols print link-layer addresses (Fix heap overflows
@@ -35,14 +144,6 @@ Wednesday January 18, 2017 devel.fx.lebail at orange.fr
     Don't drop CAP_SYS_CHROOT before chrooting
     Fixes issue where statistics not reported when -G and -W options used
 
-    New printers supporting:
-    Generic Protocol Extension for VXLAN (VXLAN-GPE)
-    Home Networking Control Protocol (HNCP), RFCs 7787 and 7788
-    Locator/Identifier Separation Protocol (LISP), type 3 and type 4 packets
-    Marvell Extended Distributed Switch Architecture header (MEDSA)
-    Network Service Header (NSH)
-    REdis Serialization Protocol (RESP)
-
     Updated printers:
     802.11: Beginnings of 11ac radiotap support
     802.11: Check the Protected bit for management frames
@@ -61,7 +162,6 @@ Wednesday January 18, 2017 devel.fx.lebail at orange.fr
     ATM: Fix an incorrect bounds check
     BFD: Update specification from draft to RFC 5880
     BFD: Update to print optional authentication field
-    BGP: Add decoding of ADD-PATH capability
     BGP: Add support for the AIGP attribute (RFC7311)
     BGP: Print LARGE_COMMUNITY Path Attribute
     BGP: Update BGP numbers from IANA; Print minor values for FSM notification
@@ -78,7 +178,6 @@ Wednesday January 18, 2017 devel.fx.lebail at orange.fr
     DTP: Improve packet integrity checks
     EGP: Fix bounds checks
     ESP: Don't use OpenSSL_add_all_algorithms() in OpenSSL 1.1.0 or later
-    ESP: Handle OpenSSL 1.1.x
     Ethernet: Add some bounds checking before calling isoclns_print (Fix a heap overflow)
     Ethernet: Print the Length/Type field as length when needed
     FDDI: Fix -e output for FDDI
@@ -87,7 +186,6 @@ Wednesday January 18, 2017 devel.fx.lebail at orange.fr
     Geneve: Fix error message with invalid option length; Update list option classes
     HNCP: Fix incorrect time interval format. Fix handling of IPv4 prefixes
     ICMP6: Fetch a 32-bit big-endian quantity with EXTRACT_32BITS()
-    ICMP6: dagid is always an IPv6 address, not an opaque 128-bit string
     IGMP: Add a length check
     IP: Add a bounds check (Fix a heap overflow)
     IP: Check before fetching the protocol version (Fix a heap overflow)
@@ -115,7 +213,6 @@ Wednesday January 18, 2017 devel.fx.lebail at orange.fr
     MPLS LSP ping: Update printing for RFC 4379, bug fixes, more bounds checks
     MPLS: "length" is now the *remaining* packet length
     MPLS: Add bounds and length checks (Fix a heap overflow)
-    NFS: Add a test that makes unaligned accesses
     NFS: Don't assume the ONC RPC header is nicely aligned
     NFS: Don't overflow the Opaque_Handle buffer (Fix a segmentation fault)
     NFS: Don't run past the end of an NFSv3 file handle
@@ -130,7 +227,6 @@ Wednesday January 18, 2017 devel.fx.lebail at orange.fr
     PGM: Print the formatted IP address, not the raw binary address, as a string
     PIM: Add some bounds checking (Fix a heap overflow)
     PIMv2: Fix checksumming of Register messages
-    PPI: Pass an adjusted struct pcap_pkthdr to the sub-printer
     PPP: Add some bounds checks (Fix a heap overflow)
     PPP: Report invalid PAP AACK/ANAK packets
     Q.933: Add a missing bounds check
@@ -171,16 +267,46 @@ Wednesday January 18, 2017 devel.fx.lebail at orange.fr
     UDLD: Fix an infinite loop
     UDP: Add a bounds check (Fix a heap overflow)
     UDP: Check against the packet length first
-    UDP: Don't do the DDP-over-UDP heuristic check up front
     VAT: Add some bounds checks
     VTP: Add a test on Mgmt Domain Name length
     VTP: Add bounds checks and filter out non-printable characters
     VXLAN: Add a bound check and a test case
     ZeroMQ: Fix an infinite loop
 
-Tuesday April 14, 2015 guy at alum.mit.edu
-  Summary for 4.8.0 tcpdump release
+Tuesday October 25, 2016 mcr at sandelman.ca
+  Summary for 4.8.1 tcpdump release
 	Fix "-x" for Apple PKTAP and PPI packets
+        Improve separation frontend/backend (tcpdump/libnetdissect)
+        Fix display of timestamps with -tt, -ttt and -ttttt options
+        Add support for the Marvell Extended Distributed Switch Architecture header
+        Use PRIx64 to print a 64-bit number in hex.
+        Printer for HNCP (RFCs 7787 and 7788).
+        dagid is always an IPv6 address, not an opaque 128-bit string, and other fixes to RPL printer.
+        RSVP: Add bounds and length checks
+        OSPF: Do more bounds checking
+        Handle OpenSSL 1.1.x.
+        Initial support for the REdis Serialization Protocol known as RESP.
+        Add printing function for Generic Protocol Extension for VXLAN
+            draft-ietf-nvo3-vxlan-gpe-01
+        Network Service Header: draft-ietf-sfc-nsh-01
+        Don't recompile the filter if the new file has the same DLT.
+        Pass an adjusted struct pcap_pkthdr to the sub-printer.
+        Add three test cases for already fixed CVEs
+           CVE-2014-8767: OLSR
+           CVE-2014-8768: Geonet
+           CVE-2014-8769: AODV
+        Don't do the DDP-over-UDP heuristic first: GitHub issue #499.
+        Use the new debugging routines in libpcap.
+        Harmonize TCP source or destination ports tests with UDP ones
+        Introduce data types to use for integral values in packet structures.
+        RSVP: Fix an infinite loop
+        Support of Type 3 and Type 4 LISP packets.
+        Don't require IPv6 library support in order to support IPv6 addresses.
+        Many many changes to support libnetdissect usage.
+        Add a test that makes unaligned accesses: GitHub issue #478.
+        add a DNSSEC test case: GH #445 and GH #467.
+        BGP: add decoding of ADD-PATH capability
+        fixes to LLC header printing, and RFC948-style IP packets
 
 Friday April 10, 2015 guy at alum.mit.edu
   Summary for 4.7.4 tcpdump release

Modified: vendor/tcpdump/dist/CONTRIBUTING
==============================================================================
--- vendor/tcpdump/dist/CONTRIBUTING	Mon Sep 18 04:09:59 2017	(r323695)
+++ vendor/tcpdump/dist/CONTRIBUTING	Mon Sep 18 04:10:54 2017	(r323696)
@@ -3,6 +3,44 @@ Some Information for Contributors
 You want to contribute to Tcpdump, Thanks!
 Please, read these lines.
 
+
+How to report bugs and other problems
+-------------------------------------
+To report a security issue (segfault, buffer overflow, infinite loop, arbitrary
+code execution etc) please send an e-mail to security at tcpdump.org, do not use
+the bug tracker!
+
+To report a non-security problem (failure to compile, incorrect output in the
+protocol printout, missing support for a particular protocol etc) please check
+first that it reproduces with the latest stable release of tcpdump and the latest
+stable release of libpcap. If it does, please check that the problem reproduces
+with the current git master branch of tcpdump and the current git master branch of
+libpcap. If it does (and it is not a security-related problem, otherwise see
+above), please navigate to https://github.com/the-tcpdump-group/tcpdump/issues
+and check if the problem has already been reported. If it has not, please open
+a new issue and provide the following details:
+
+* tcpdump and libpcap version (tcpdump --version)
+* operating system name and version and any other details that may be relevant
+  (uname -a, compiler name and version, CPU type etc.)
+* configure flags if any were used
+* statement of the problem
+* steps to reproduce
+
+Please note that if you know exactly how to solve the problem and the solution
+would not be too intrusive, it would be best to contribute some development time
+and open a pull request instead as discussed below.
+
+Still not sure how to do? Feel free to [subscribe](http://www.tcpdump.org/#mailing-lists)
+to the mailing list tcpdump-workers at lists.tcpdump.org and ask!
+
+
+How to add new code and to update existing code
+-----------------------------------------------
+
+0) Check that there isn't a pull request already opened for the changes you
+   intend to make.
+
 1) Fork the Tcpdump repository on GitHub from
    https://github.com/the-tcpdump-group/tcpdump
    (See https://help.github.com/articles/fork-a-repo/)
@@ -12,8 +50,11 @@ Please, read these lines.
    on Linux and OSX before sending pull requests.
    (See http://docs.travis-ci.com/user/getting-started/)
 
-3) Clone your repository
+3) Setup your git working copy
    git clone https://github.com/<username>/tcpdump.git
+   cd tcpdump
+   git remote add upstream https://github.com/the-tcpdump-group/tcpdump
+   git fetch upstream
 
 4) Do a 'touch .devel' in your working directory.
    Currently, the effect is
@@ -47,19 +88,26 @@ Please, read these lines.
 7) Test with 'make check'
    Don't send a pull request if 'make check' gives failed tests.
 
-8) Rebase your commits against upstream/master
-   (To keep linearity)
+8) Try to rebase your commits to keep the history simple.
+   git rebase upstream/master
+   (If the rebase fails and you cannot resolve, issue "git rebase --abort"
+   and ask for help in the pull request comment.)
 
-9) Initiate and send a pull request
+9) Once 100% happy, put your work into your forked repository.
+   git push
+
+10) Initiate and send a pull request
    (See https://help.github.com/articles/using-pull-requests/)
 
-Some remarks
-------------
+
+Code style and generic remarks
+------------------------------
 a) A thorough reading of some other printers code is useful.
 
 b) Put the normative reference if any as comments (RFC, etc.).
 
-c) Put the format of packets/headers/options as comments.
+c) Put the format of packets/headers/options as comments if there is no
+   published normative reference.
 
 d) The printer may receive incomplete packet in the buffer, truncated at any
    random position, for example by capturing with '-s size' option.

Modified: vendor/tcpdump/dist/CREDITS
==============================================================================
--- vendor/tcpdump/dist/CREDITS	Mon Sep 18 04:09:59 2017	(r323695)
+++ vendor/tcpdump/dist/CREDITS	Mon Sep 18 04:10:54 2017	(r323696)
@@ -5,7 +5,7 @@ The current maintainers:
     Denis Ovsienko                <denis at ovsienko dot info>
     Fulvio Risso                  <risso at polito dot it>
     Guy Harris                    <guy at alum dot mit dot edu>
-    Hannes Gredler                <hannes at juniper dot net>
+    Hannes Gredler                <hannes at gredler dot at>
     Michael Richardson            <mcr at sandelman dot ottawa dot on dot ca>
     Francois-Xavier Le Bail       <fx dot lebail at yahoo dot com>
 
@@ -39,6 +39,7 @@ Additional people who have contributed patches:
     Bjoern A. Zeeb                <bzeeb at Zabbadoz dot NeT>
     Bram                          <tcpdump at mail dot wizbit dot be>
     Brent L. Bates                <blbates at vigyan dot com>
+    Brian Carpenter               <brian dot carpenter at gmail dot com>
     Brian Ginsbach                <ginsbach at cray dot com>
     Bruce M. Simpson              <bms at spc dot org>
     Carles Kishimoto Bisbe        <ckishimo at ac dot upc dot es>
@@ -54,6 +55,7 @@ Additional people who have contributed patches:
     Craig Rodrigues               <rodrigc at mediaone dot net>
     Crist J. Clark                <cjclark at alum dot mit dot edu>
     Daniel Hagerty                <hag at ai dot mit dot edu>
+    Daniel Lee                    <Longinus00 at gmail dot com>
     Darren Reed                   <darrenr at reed dot wattle dot id dot au>
     David Binderman               <d dot binderman at virgin dot net>
     David Horn                    <dhorn2000 at gmail dot com>
@@ -85,6 +87,7 @@ Additional people who have contributed patches:
     Greg Stark                    <gsstark at mit dot edu>
     Hank Leininger                <tcpdump-workers at progressive-comp dot com>
     Hannes Viertel                <hviertel at juniper dot net>
+    Hanno Böck                    <hanno at hboeck dot de>
     Harry Raaymakers              <harryr at connect dot com dot au>
     Heinz-Ado Arnolds             <Ado dot Arnolds at dhm-systems dot de>
     Hendrik Scholz                <hendrik at scholz dot net>
@@ -111,6 +114,7 @@ Additional people who have contributed patches:
     Juliusz Chroboczek            <jch at pps dot jussieu dot fr>
     Kaarthik Sivakumar            <kaarthik at torrentnet dot com>
     Kaladhar Musunuru             <kaladharm at sourceforge dot net>
+    Kamil Frankowicz              <kontakt at frankowicz dot me>
     Karl Norby                    <karl-norby at sourceforge dot net>
     Kazushi Sugyo                 <sugyo at pb dot jp dot nec dot com>
     Kelly Carmichael              <kcarmich at ipapp dot com>
@@ -123,7 +127,6 @@ Additional people who have contributed patches:
     Larry Lile                    <lile at stdio dot com>
     Lennert Buytenhek             <buytenh at gnu dot org>
     Loganaden Velvindron          <logan at elandsys dot com>
-    Daniel Lee                    <Longinus00 at gmail dot com>
     Loris Degioanni               <loris at netgroup-serv dot polito dot it>
     Love Hörnquist-Åstrand        <lha at stacken dot kth dot se>
     Lucas C. Villa Real           <lucasvr at us dot ibm dot com>
@@ -166,6 +169,7 @@ Additional people who have contributed patches:
     Paolo Abeni                   <paolo dot abeni at email dot it>
     Pascal Hennequin              <pascal dot hennequin at int-evry dot fr>
     Pasvorn Boonmark              <boonmark at juniper dot net>
+    Patrik Lundquist              <patrik dot lundquist at gmail dot com>
     Paul Ferrell                  <pflarr at sourceforge dot net>
     Paul Mundt                    <lethal at linux-sh dot org>
     Paul S. Traina                <pst at freebsd dot org>

Modified: vendor/tcpdump/dist/INSTALL.txt
==============================================================================
--- vendor/tcpdump/dist/INSTALL.txt	Mon Sep 18 04:09:59 2017	(r323695)
+++ vendor/tcpdump/dist/INSTALL.txt	Mon Sep 18 04:10:54 2017	(r323696)
@@ -37,6 +37,7 @@ Please see "PLATFORMS" for notes about tested platform
 FILES
 -----
 CHANGES		- description of differences between releases
+CONTRIBUTING	- guidelines for contributing
 CREDITS		- people that have helped tcpdump along
 INSTALL.txt	- this file
 LICENSE		- the license under which tcpdump is distributed

Modified: vendor/tcpdump/dist/Makefile.in
==============================================================================
--- vendor/tcpdump/dist/Makefile.in	Mon Sep 18 04:09:59 2017	(r323695)
+++ vendor/tcpdump/dist/Makefile.in	Mon Sep 18 04:10:54 2017	(r323696)
@@ -263,6 +263,7 @@ HDR = \
 	ether.h \
 	ethertype.h \
 	extract.h \
+	funcattrs.h \
 	getopt_long.h \
 	gmpls.h \
 	gmt2local.h \

Modified: vendor/tcpdump/dist/PLATFORMS
==============================================================================
--- vendor/tcpdump/dist/PLATFORMS	Mon Sep 18 04:09:59 2017	(r323695)
+++ vendor/tcpdump/dist/PLATFORMS	Mon Sep 18 04:10:54 2017	(r323696)
@@ -1,9 +1,16 @@
-== Tested platforms ==
-NetBSD 		  5.1/i386	(mcr - 2012/4/1)
-Debian Linux (squeeze/i386)	(mcr - 2012/4/1)
+In many operating systems tcpdump is available as a native package or port,
+which simplifies installation of updates and long-term maintenance. However,
+the native packages are sometimes a few versions behind and to try a more
+recent snapshot it will take to compile tcpdump from the source code.
 
----
-RedHat Linux 	6.1/i386	(assar)
-FreeBSD		2.2.8/i386	(itojun)
+tcpdump compiles and works on at least the following platforms:
 
-
+* AIX
+* FreeBSD
+* HP-UX 11i
+* Linux (any) with glibc (usually just works)
+* Linux (any) with musl libc (sometimes fails to compile, please report any bugs)
+* Mac OS X / macOS
+* NetBSD
+* OpenWrt
+* Solaris

Modified: vendor/tcpdump/dist/README.md
==============================================================================
--- vendor/tcpdump/dist/README.md	Mon Sep 18 04:09:59 2017	(r323695)
+++ vendor/tcpdump/dist/README.md	Mon Sep 18 04:10:54 2017	(r323696)
@@ -3,25 +3,21 @@
 [![Build
 Status](https://travis-ci.org/the-tcpdump-group/tcpdump.png)](https://travis-ci.org/the-tcpdump-group/tcpdump)
 
-TCPDUMP 4.x.y  
-Now maintained by "The Tcpdump Group"  
-See 		www.tcpdump.org  
+To report a security issue please send an e-mail to security at tcpdump.org.
 
-Please send inquiries/comments/reports to:
+To report bugs and other problems, contribute patches, request a
+feature, provide generic feedback etc please see the file
+CONTRIBUTING in the tcpdump source tree root.
 
-* tcpdump-workers at lists.tcpdump.org
+TCPDUMP 4.x.y
+Now maintained by "The Tcpdump Group"
+See 		www.tcpdump.org
 
 Anonymous Git is available via:
 
 	git clone git://bpf.tcpdump.org/tcpdump
 
-Please submit patches by forking the branch on GitHub at:
-
-*	http://github.com/the-tcpdump-group/tcpdump/tree/master
-
-and issuing a pull request.
-
-formerly from 	Lawrence Berkeley National Laboratory  
+formerly from 	Lawrence Berkeley National Laboratory
 		Network Research Group <tcpdump at ee.lbl.gov>  
 		ftp://ftp.ee.lbl.gov/old/tcpdump.tar.Z (3.4)
 
@@ -70,20 +66,6 @@ Another tool that tcpdump users might find useful is t
 It is a program that can be used to extract portions of tcpdump binary
 trace files. See the above distribution for further details and
 documentation.
-
-Problems, bugs, questions, desirable enhancements, etc. should be sent
-to the address "tcpdump-workers at lists.tcpdump.org".  Bugs, support
-requests, and feature requests may also be submitted on the GitHub issue
-tracker for tcpdump at:
-
-* https://github.com/the-tcpdump-group/tcpdump/issues
-
-Source code contributions, etc. should be sent to the email address
-above or submitted by forking the branch on GitHub at:
-
-* http://github.com/the-tcpdump-group/tcpdump/tree/master
-
-and issuing a pull request.
 
 Current versions can be found at www.tcpdump.org.
 

Modified: vendor/tcpdump/dist/VERSION
==============================================================================
--- vendor/tcpdump/dist/VERSION	Mon Sep 18 04:09:59 2017	(r323695)
+++ vendor/tcpdump/dist/VERSION	Mon Sep 18 04:10:54 2017	(r323696)
@@ -1 +1 @@
-4.9.0
+4.9.2

Modified: vendor/tcpdump/dist/aclocal.m4
==============================================================================
--- vendor/tcpdump/dist/aclocal.m4	Mon Sep 18 04:09:59 2017	(r323695)
+++ vendor/tcpdump/dist/aclocal.m4	Mon Sep 18 04:10:54 2017	(r323696)
@@ -655,7 +655,7 @@ AC_DEFUN(AC_LBL_LIBPCAP,
     AC_CHECK_FUNC(pcap_loop,,
 	[
 	    AC_MSG_ERROR(
-[Report this to tcpdump-workers at lists.tcpdump.org, and include the
+[This is a bug, please follow the guidelines in CONTRIBUTING and include the
 config.log file in your report.  If you have downloaded libpcap from
 tcpdump.org, and built it yourself, please also include the config.log
 file from the libpcap source directory, the Makefile from the libpcap

Modified: vendor/tcpdump/dist/addrtoname.c
==============================================================================
--- vendor/tcpdump/dist/addrtoname.c	Mon Sep 18 04:09:59 2017	(r323695)
+++ vendor/tcpdump/dist/addrtoname.c	Mon Sep 18 04:10:54 2017	(r323696)
@@ -145,14 +145,24 @@ struct enamemem {
 	u_short e_addr2;
 	const char *e_name;
 	u_char *e_nsap;			/* used only for nsaptable[] */
-#define e_bs e_nsap			/* for bytestringtable */
 	struct enamemem *e_nxt;
 };
 
 static struct enamemem enametable[HASHNAMESIZE];
 static struct enamemem nsaptable[HASHNAMESIZE];
-static struct enamemem bytestringtable[HASHNAMESIZE];
 
+struct bsnamemem {
+	u_short bs_addr0;
+	u_short bs_addr1;
+	u_short bs_addr2;
+	const char *bs_name;
+	u_char *bs_bytes;
+	unsigned int bs_nbytes;
+	struct bsnamemem *bs_nxt;
+};
+
+static struct bsnamemem bytestringtable[HASHNAMESIZE];
+
 struct protoidmem {
 	uint32_t p_oui;
 	u_short p_proto;
@@ -321,7 +331,7 @@ getname6(netdissect_options *ndo, const u_char *ap)
 	return (p->name);
 }
 
-static const char hex[] = "0123456789abcdef";
+static const char hex[16] = "0123456789abcdef";
 
 
 /* Find the hash node that corresponds the ether address 'ep' */
@@ -359,11 +369,11 @@ lookup_emem(netdissect_options *ndo, const u_char *ep)
  * with length 'nlen'
  */
 
-static inline struct enamemem *
+static inline struct bsnamemem *
 lookup_bytestring(netdissect_options *ndo, register const u_char *bs,
 		  const unsigned int nlen)
 {
-	struct enamemem *tp;
+	struct bsnamemem *tp;
 	register u_int i, j, k;
 
 	if (nlen >= 6) {
@@ -378,26 +388,28 @@ lookup_bytestring(netdissect_options *ndo, register co
 		i = j = k = 0;
 
 	tp = &bytestringtable[(i ^ j) & (HASHNAMESIZE-1)];
-	while (tp->e_nxt)
-		if (tp->e_addr0 == i &&
-		    tp->e_addr1 == j &&
-		    tp->e_addr2 == k &&
-		    memcmp((const char *)bs, (const char *)(tp->e_bs), nlen) == 0)
+	while (tp->bs_nxt)
+		if (nlen == tp->bs_nbytes &&
+		    tp->bs_addr0 == i &&
+		    tp->bs_addr1 == j &&
+		    tp->bs_addr2 == k &&
+		    memcmp((const char *)bs, (const char *)(tp->bs_bytes), nlen) == 0)
 			return tp;
 		else
-			tp = tp->e_nxt;
+			tp = tp->bs_nxt;
 
-	tp->e_addr0 = i;
-	tp->e_addr1 = j;
-	tp->e_addr2 = k;
+	tp->bs_addr0 = i;
+	tp->bs_addr1 = j;
+	tp->bs_addr2 = k;
 
-	tp->e_bs = (u_char *) calloc(1, nlen + 1);
-	if (tp->e_bs == NULL)
+	tp->bs_bytes = (u_char *) calloc(1, nlen);
+	if (tp->bs_bytes == NULL)
 		(*ndo->ndo_error)(ndo, "lookup_bytestring: calloc");
 
-	memcpy(tp->e_bs, bs, nlen);
-	tp->e_nxt = (struct enamemem *)calloc(1, sizeof(*tp));
-	if (tp->e_nxt == NULL)
+	memcpy(tp->bs_bytes, bs, nlen);
+	tp->bs_nbytes = nlen;
+	tp->bs_nxt = (struct bsnamemem *)calloc(1, sizeof(*tp));
+	if (tp->bs_nxt == NULL)
 		(*ndo->ndo_error)(ndo, "lookup_bytestring: calloc");
 
 	return tp;
@@ -424,11 +436,11 @@ lookup_nsap(netdissect_options *ndo, register const u_
 
 	tp = &nsaptable[(i ^ j) & (HASHNAMESIZE-1)];
 	while (tp->e_nxt)
-		if (tp->e_addr0 == i &&
+		if (nsap_length == tp->e_nsap[0] &&
+		    tp->e_addr0 == i &&
 		    tp->e_addr1 == j &&
 		    tp->e_addr2 == k &&
-		    tp->e_nsap[0] == nsap_length &&
-		    memcmp((const char *)&(nsap[1]),
+		    memcmp((const char *)nsap,
 			(char *)&(tp->e_nsap[1]), nsap_length) == 0)
 			return tp;
 		else
@@ -528,12 +540,12 @@ le64addr_string(netdissect_options *ndo, const u_char 
 	const unsigned int len = 8;
 	register u_int i;
 	register char *cp;
-	register struct enamemem *tp;
+	register struct bsnamemem *tp;
 	char buf[BUFSIZE];
 
 	tp = lookup_bytestring(ndo, ep, len);
-	if (tp->e_name)
-		return (tp->e_name);
+	if (tp->bs_name)
+		return (tp->bs_name);
 
 	cp = buf;
 	for (i = len; i > 0 ; --i) {
@@ -545,11 +557,11 @@ le64addr_string(netdissect_options *ndo, const u_char 
 
 	*cp = '\0';
 
-	tp->e_name = strdup(buf);
-	if (tp->e_name == NULL)
+	tp->bs_name = strdup(buf);
+	if (tp->bs_name == NULL)
 		(*ndo->ndo_error)(ndo, "le64addr_string: strdup(buf)");
 
-	return (tp->e_name);
+	return (tp->bs_name);
 }
 
 const char *
@@ -558,7 +570,7 @@ linkaddr_string(netdissect_options *ndo, const u_char 
 {
 	register u_int i;
 	register char *cp;
-	register struct enamemem *tp;
+	register struct bsnamemem *tp;
 
 	if (len == 0)
 		return ("<empty>");
@@ -570,11 +582,11 @@ linkaddr_string(netdissect_options *ndo, const u_char 
 		return (q922_string(ndo, ep, len));
 
 	tp = lookup_bytestring(ndo, ep, len);
-	if (tp->e_name)
-		return (tp->e_name);
+	if (tp->bs_name)
+		return (tp->bs_name);
 
-	tp->e_name = cp = (char *)malloc(len*3);
-	if (tp->e_name == NULL)
+	tp->bs_name = cp = (char *)malloc(len*3);
+	if (tp->bs_name == NULL)
 		(*ndo->ndo_error)(ndo, "linkaddr_string: malloc");
 	*cp++ = hex[*ep >> 4];
 	*cp++ = hex[*ep++ & 0xf];
@@ -584,7 +596,7 @@ linkaddr_string(netdissect_options *ndo, const u_char 
 		*cp++ = hex[*ep++ & 0xf];
 	}
 	*cp = '\0';
-	return (tp->e_name);
+	return (tp->bs_name);
 }
 
 const char *

Modified: vendor/tcpdump/dist/addrtoname.h
==============================================================================
--- vendor/tcpdump/dist/addrtoname.h	Mon Sep 18 04:09:59 2017	(r323695)
+++ vendor/tcpdump/dist/addrtoname.h	Mon Sep 18 04:10:54 2017	(r323696)
@@ -33,7 +33,8 @@ enum {
     LINKADDR_ETHER,
     LINKADDR_FRELAY,
     LINKADDR_IEEE1394,
-    LINKADDR_ATM
+    LINKADDR_ATM,
+    LINKADDR_OTHER
 };
 
 #define BUFSIZE 128

Modified: vendor/tcpdump/dist/addrtostr.c
==============================================================================
--- vendor/tcpdump/dist/addrtostr.c	Mon Sep 18 04:09:59 2017	(r323695)
+++ vendor/tcpdump/dist/addrtostr.c	Mon Sep 18 04:10:54 2017	(r323696)
@@ -110,25 +110,24 @@ addrtostr6 (const void *src, char *dst, size_t size)
   size_t space_left, added_space;
   int snprintfed;
   struct {
-    long base;
-    long len;
+    int base;
+    int len;
   } best, cur;
-  u_long words [IN6ADDRSZ / INT16SZ];
-  u_int  i;
+  uint16_t words [IN6ADDRSZ / INT16SZ];
+  int  i;
 
   /* Preprocess:
    *  Copy the input (bytewise) array into a wordwise array.
    *  Find the longest run of 0x00's in src[] for :: shorthanding.
    */
-  memset (words, 0, sizeof(words));
-  for (i = 0; i < IN6ADDRSZ; i++)
-      words[i/2] |= (srcaddr[i] << ((1 - (i % 2)) << 3));
+  for (i = 0; i < (IN6ADDRSZ / INT16SZ); i++)
+      words[i] = (srcaddr[2*i] << 8) | srcaddr[2*i + 1];
 
   best.len = 0;
   best.base = -1;
   cur.len = 0;
   cur.base  = -1;
-  for (i = 0; i < (IN6ADDRSZ / INT16SZ); i++)
+  for (i = 0; i < (int)(IN6ADDRSZ / INT16SZ); i++)
   {
     if (words[i] == 0)
     {
@@ -161,7 +160,7 @@ addrtostr6 (const void *src, char *dst, size_t size)
         *dp++ = c; \
         space_left--; \
     }
-  for (i = 0; i < (IN6ADDRSZ / INT16SZ); i++)
+  for (i = 0; i < (int)(IN6ADDRSZ / INT16SZ); i++)
   {
     /* Are we inside the best run of 0x00's?
      */
@@ -192,7 +191,7 @@ addrtostr6 (const void *src, char *dst, size_t size)
       space_left -= added_space;
       break;
     }
-    snprintfed = snprintf (dp, space_left, "%lx", words[i]);
+    snprintfed = snprintf (dp, space_left, "%x", words[i]);
     if (snprintfed < 0)
         return (NULL);
     if ((size_t) snprintfed >= space_left)

Modified: vendor/tcpdump/dist/af.c
==============================================================================
--- vendor/tcpdump/dist/af.c	Mon Sep 18 04:09:59 2017	(r323695)
+++ vendor/tcpdump/dist/af.c	Mon Sep 18 04:10:54 2017	(r323696)
@@ -12,7 +12,7 @@
  * LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
  * FOR A PARTICULAR PURPOSE.
  *
- * Original code by Hannes Gredler (hannes at juniper.net)
+ * Original code by Hannes Gredler (hannes at gredler.at)
  */
 
 #ifdef HAVE_CONFIG_H

Modified: vendor/tcpdump/dist/af.h
==============================================================================
--- vendor/tcpdump/dist/af.h	Mon Sep 18 04:09:59 2017	(r323695)
+++ vendor/tcpdump/dist/af.h	Mon Sep 18 04:10:54 2017	(r323696)
@@ -12,7 +12,7 @@
  * LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
  * FOR A PARTICULAR PURPOSE.
  *
- * Original code by Hannes Gredler (hannes at juniper.net)
+ * Original code by Hannes Gredler (hannes at gredler.at)
  */
 
 extern const struct tok af_values[];

Modified: vendor/tcpdump/dist/checksum.c
==============================================================================
--- vendor/tcpdump/dist/checksum.c	Mon Sep 18 04:09:59 2017	(r323695)
+++ vendor/tcpdump/dist/checksum.c	Mon Sep 18 04:10:54 2017	(r323696)
@@ -14,7 +14,7 @@
  *
  * miscellaneous checksumming routines
  *
- * Original code by Hannes Gredler (hannes at juniper.net)
+ * Original code by Hannes Gredler (hannes at gredler.at)
  */
 
 #ifdef HAVE_CONFIG_H

Modified: vendor/tcpdump/dist/config.h.in
==============================================================================
--- vendor/tcpdump/dist/config.h.in	Mon Sep 18 04:09:59 2017	(r323695)
+++ vendor/tcpdump/dist/config.h.in	Mon Sep 18 04:10:54 2017	(r323696)
@@ -34,6 +34,9 @@
 /* Define to 1 if you have the `ether_ntohost' function. */
 #undef HAVE_ETHER_NTOHOST
 
+/* Define to 1 if you have the `EVP_CipherInit_ex' function. */
+#undef HAVE_EVP_CIPHERINIT_EX
+
 /* Define to 1 if you have the `EVP_CIPHER_CTX_new' function. */
 #undef HAVE_EVP_CIPHER_CTX_NEW
 

Modified: vendor/tcpdump/dist/configure
==============================================================================
--- vendor/tcpdump/dist/configure	Mon Sep 18 04:09:59 2017	(r323695)
+++ vendor/tcpdump/dist/configure	Mon Sep 18 04:10:54 2017	(r323696)
@@ -5801,7 +5801,7 @@ if test "x$ac_cv_func_pcap_loop" = xyes; then :
 
 else
 
-	    as_fn_error $? "Report this to tcpdump-workers at lists.tcpdump.org, and include the
+	    as_fn_error $? "This is a bug, please follow the guidelines in CONTRIBUTING and include the
 config.log file in your report.  If you have downloaded libpcap from
 tcpdump.org, and built it yourself, please also include the config.log
 file from the libpcap source directory, the Makefile from the libpcap
@@ -8116,17 +8116,32 @@ fi
 done
 
 			#
-			# OK, do we have EVP_CIPHER_CTX_new?
+			# OK, then:
+			#
+			# 1) do we have EVP_CIPHER_CTX_new?
 			# If so, we use it to allocate an
 			# EVP_CIPHER_CTX, as EVP_CIPHER_CTX may be
 			# opaque; otherwise, we allocate it ourselves.
 			#
-			for ac_func in EVP_CIPHER_CTX_new
+			# 2) do we have EVP_CipherInit_ex()?
+			# If so, we use it, because we need to be
+			# able to make two "initialize the cipher"
+			# calls, one with the cipher and key, and
+			# one with the IV, and, as of OpenSSL 1.1,
+			# You Can't Do That with EVP_CipherInit(),
+			# because a call to EVP_CipherInit() will
+			# unconditionally clear the context, and
+			# if you don't supply a cipher, it'll
+			# clear the cipher, rendering the context
+			# unusable and causing a crash.
+			#
+			for ac_func in EVP_CIPHER_CTX_new EVP_CipherInit_ex
 do :
-  ac_fn_c_check_func "$LINENO" "EVP_CIPHER_CTX_new" "ac_cv_func_EVP_CIPHER_CTX_new"
-if test "x$ac_cv_func_EVP_CIPHER_CTX_new" = xyes; then :
+  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
-#define HAVE_EVP_CIPHER_CTX_NEW 1
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
 
 fi

Modified: vendor/tcpdump/dist/configure.in
==============================================================================
--- vendor/tcpdump/dist/configure.in	Mon Sep 18 04:09:59 2017	(r323695)
+++ vendor/tcpdump/dist/configure.in	Mon Sep 18 04:10:54 2017	(r323696)
@@ -935,12 +935,26 @@ if test "$want_libcrypto" != "no"; then
 		if test "$ac_cv_lib_crypto_DES_cbc_encrypt" = "yes"; then
 			AC_CHECK_HEADERS(openssl/evp.h)
 			#
-			# OK, do we have EVP_CIPHER_CTX_new?
+			# OK, then:
+			#
+			# 1) do we have EVP_CIPHER_CTX_new?
 			# If so, we use it to allocate an
 			# EVP_CIPHER_CTX, as EVP_CIPHER_CTX may be
 			# opaque; otherwise, we allocate it ourselves.
 			#
-			AC_CHECK_FUNCS(EVP_CIPHER_CTX_new)
+			# 2) do we have EVP_CipherInit_ex()?
+			# If so, we use it, because we need to be
+			# able to make two "initialize the cipher"
+			# calls, one with the cipher and key, and
+			# one with the IV, and, as of OpenSSL 1.1,
+			# You Can't Do That with EVP_CipherInit(),
+			# because a call to EVP_CipherInit() will
+			# unconditionally clear the context, and
+			# if you don't supply a cipher, it'll
+			# clear the cipher, rendering the context
+			# unusable and causing a crash.
+			#
+			AC_CHECK_FUNCS(EVP_CIPHER_CTX_new EVP_CipherInit_ex)
 		fi
 	])
 fi

Modified: vendor/tcpdump/dist/extract.h
==============================================================================
--- vendor/tcpdump/dist/extract.h	Mon Sep 18 04:09:59 2017	(r323695)
+++ vendor/tcpdump/dist/extract.h	Mon Sep 18 04:10:54 2017	(r323696)
@@ -20,8 +20,48 @@
  */
 
 /*
- * Macros to extract possibly-unaligned big-endian integral values.
+ * For 8-bit values; provided for the sake of completeness.  Byte order
+ * isn't relevant, and alignment isn't an issue.
  */
+#define EXTRACT_8BITS(p)	(*(p))
+#define EXTRACT_LE_8BITS(p)	(*(p))
+
+/*
+ * Inline functions or macros to extract possibly-unaligned big-endian
+ * integral values.
+ */
+#include "funcattrs.h"
+
+/*
+ * If we have versions of GCC or Clang that support an __attribute__
+ * to say "if we're building with unsigned behavior sanitization,
+ * don't complain about undefined behavior in this function", we
+ * label these functions with that attribute - we *know* it's undefined
+ * in the C standard, but we *also* know it does what we want with
+ * the ISA we're targeting and the compiler we're using.
+ *
+ * For GCC 4.9.0 and later, we use __attribute__((no_sanitize_undefined));
+ * pre-5.0 GCC doesn't have __has_attribute, and I'm not sure whether
+ * GCC or Clang first had __attribute__((no_sanitize(XXX)).
+ *
+ * For Clang, we check for __attribute__((no_sanitize(XXX)) with
+ * __has_attribute, as there are versions of Clang that support
+ * __attribute__((no_sanitize("undefined")) but don't support
+ * __attribute__((no_sanitize_undefined)).
+ *
+ * We define this here, rather than in funcattrs.h, because we
+ * only want it used here, we don't want it to be broadly used.
+ * (Any printer will get this defined, but this should at least
+ * make it harder for people to find.)
+ */
+#if defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 409)
+#define UNALIGNED_OK	__attribute__((no_sanitize_undefined))
+#elif __has_attribute(no_sanitize)
+#define UNALIGNED_OK	__attribute__((no_sanitize("undefined")))
+#else
+#define UNALIGNED_OK
+#endif
+
 #ifdef LBL_ALIGN
 /*
  * The processor doesn't natively handle unaligned loads.
@@ -31,7 +71,7 @@
      defined(__mips) || defined(__mips__))
 
 /*
- * This is a GCC-compatible compiler and we have __attribute__, which
+* This is a GCC-compatible compiler and we have __attribute__, which
  * we assume that mean we have __attribute__((packed)), and this is
  * MIPS or Alpha, which has instructions that can help when doing
  * unaligned loads.
@@ -88,19 +128,19 @@ typedef struct {
 	uint32_t	val;
 } __attribute__((packed)) unaligned_uint32_t;
 
-static inline uint16_t
+UNALIGNED_OK static inline uint16_t
 EXTRACT_16BITS(const void *p)
 {
 	return ((uint16_t)ntohs(((const unaligned_uint16_t *)(p))->val));
 }
 
-static inline uint32_t
+UNALIGNED_OK static inline uint32_t
 EXTRACT_32BITS(const void *p)
 {
 	return ((uint32_t)ntohl(((const unaligned_uint32_t *)(p))->val));
 }
 
-static inline uint64_t
+UNALIGNED_OK static inline uint64_t
 EXTRACT_64BITS(const void *p)
 {
 	return ((uint64_t)(((uint64_t)ntohl(((const unaligned_uint32_t *)(p) + 0)->val)) << 32 |
@@ -138,19 +178,19 @@ EXTRACT_64BITS(const void *p)
  * The processor natively handles unaligned loads, so we can just
  * cast the pointer and fetch through it.
  */
-static inline uint16_t
+static inline uint16_t UNALIGNED_OK
 EXTRACT_16BITS(const void *p)
 {
 	return ((uint16_t)ntohs(*(const uint16_t *)(p)));
 }
 
-static inline uint32_t
+static inline uint32_t UNALIGNED_OK
 EXTRACT_32BITS(const void *p)
 {
 	return ((uint32_t)ntohl(*(const uint32_t *)(p)));
 }
 
-static inline uint64_t
+static inline uint64_t UNALIGNED_OK
 EXTRACT_64BITS(const void *p)
 {
 	return ((uint64_t)(((uint64_t)ntohl(*((const uint32_t *)(p) + 0))) << 32 |
@@ -193,7 +233,6 @@ EXTRACT_64BITS(const void *p)
  * Macros to extract possibly-unaligned little-endian integral values.
  * XXX - do loads on little-endian machines that support unaligned loads?
  */
-#define EXTRACT_LE_8BITS(p) (*(p))
 #define EXTRACT_LE_16BITS(p) \
 	((uint16_t)(((uint16_t)(*((const uint8_t *)(p) + 1)) << 8) | \
 	            ((uint16_t)(*((const uint8_t *)(p) + 0)) << 0)))
@@ -242,3 +281,6 @@ EXTRACT_64BITS(const void *p)
 
 #define ND_TTEST_64BITS(p) ND_TTEST2(*(p), 8)
 #define ND_TCHECK_64BITS(p) ND_TCHECK2(*(p), 8)
+
+#define ND_TTEST_128BITS(p) ND_TTEST2(*(p), 16)
+#define ND_TCHECK_128BITS(p) ND_TCHECK2(*(p), 16)

Added: vendor/tcpdump/dist/funcattrs.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/tcpdump/dist/funcattrs.h	Mon Sep 18 04:10:54 2017	(r323696)
@@ -0,0 +1,122 @@
+/* -*- Mode: c; tab-width: 8; indent-tabs-mode: 1; c-basic-offset: 8; -*- */
+/*
+ * Copyright (c) 1993, 1994, 1995, 1996, 1997
+ *	The Regents of the University of California.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***


More information about the svn-src-all mailing list