Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gen_mcode6() segfaults on "host ::1" (OpenBSD 6.7 amd64) #964

Closed
jelu opened this issue Sep 10, 2020 · 3 comments
Closed

gen_mcode6() segfaults on "host ::1" (OpenBSD 6.7 amd64) #964

jelu opened this issue Sep 10, 2020 · 3 comments

Comments

@jelu
Copy link

jelu commented Sep 10, 2020

libpcap v1.9.1 on OpenBSD 6.7 amd64, no special compile flag just ./configure && make && make install, full log at bottom.

While adding tests to dnscap (DNS-OARC/dnscap#231) I ran into a segfault when using IPv6 addresses to filter host, this happened only on OpenBSD (https://dev.dns-oarc.net/buildbot/#/builders/22/builds/10).

Using the same filter with tcpdump v4.9.3 does not produce a segfault:

$ /usr/local/src/tcpdump-4.9.3/tcpdump -nvr buildbot/worker/dnscap-openbsd/build/src/test/dns.pcap "( ( ( ( udp port 53 and udp[10] & 0x78 = 0 and ( udp[10] & 0x2 = 0x2 or 0x2 << (udp[11] & 0xf) & 0xffffffff != 0 ) ) ) and host ( 127.0.0.1 or ::1 or 2a00:1450:400f:806::200e or 172.217.21.142 or 127.0.0.1 ) and not host ( 127.0.0.1 or 127.0.0.1 ) ) )"
reading from file buildbot/worker/dnscap-openbsd/build/src/test/dns.pcap, link-type EN10MB (Ethernet)
$ gdb ../dnscap
GNU gdb 6.3
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "amd64-unknown-openbsd6.7"...
(gdb) run -a 127.0.0.1 -a ::1 -a google.com -z 127.0.0.1 -A 127.0.0.1 -Z 127.0.0.1 -Y 127.0.0.1 -r dns.pcap-dist -g -dddd
Starting program: /home/buildbot/buildbot/worker/dnscap-openbsd/build/dnscap-1.11.1/build/src/dnscap -a 127.0.0.1 -a ::1 -a google.com -z 127.0.0.1 -A 127.0.0.1 -Z 127.0.0.1 -Y 127.0.0.1 -r dns.pcap-dist -g -dddd
dnscap:/usr/lib/libc.so.96.0: /usr/local/lib/libbind.so.6.1 : WARNING: symbol(_res) size mismatch, relink your program
dnscap:/usr/lib/libc.so.96.0: /usr/local/lib/libbind.so.6.1 : WARNING: symbol(__p_type_syms) size mismatch, relink your program
Error while reading shared library symbols:
Dwarf Error: wrong version in compilation unit header (is 4, should be 2) [in module /usr/libexec/ld.so]
dnscap: version 1.11.1
dnscap: msg Q.., side IR, hide .., err NYtfsxir, t 0, c 0, C 0
	init 127.0.0.1 ::1 2a00:1450:400f:806::200e 172.217.20.46
	resp 127.0.0.1
	!init 127.0.0.1
	!resp 127.0.0.1
	!dropresp 127.0.0.1
dnscap: "( ( ( ( udp port 53 and udp[10] & 0x78 = 0 and ( udp[10] & 0x2 = 0x2 or 0x2 << (udp[11] & 0xf) & 0xffffffff != 0 ) ) ) and host ( 127.0.0.1 or ::1 or 2a00:1450:400f:806::200e or 172.217.20.46 or 127.0.0.1 ) and not host ( 127.0.0.1 or 127.0.0.1 ) ) )"

Program received signal SIGSEGV, Segmentation fault.
0x00000ea3f48f031d in gen_mcode6 (cstate=0x7f7ffffc4680, s1=0xea3b36f1ea0 "::1", s2=Variable "s2" is not available.
) at ./gencode.c:6805
6805		if ((a[0] & ~m[0]) || (a[1] & ~m[1])
(gdb) bt
#0  0x00000ea3f48f031d in gen_mcode6 (cstate=0x7f7ffffc4680, s1=0xea3b36f1ea0 "::1", s2=Variable "s2" is not available.
) at ./gencode.c:6805
#1  0x00000ea3f48fc122 in pcap_parse (yyscanner=0xea3af2b3700, cstate=0x7f7ffffc4680) at grammar.y:412
#2  0x00000ea3f48e7bd2 in pcap_compile (p=Variable "p" is not available.
) at ./gencode.c:747
#3  0x00000ea13bf17de7 in pcap_thread_open_offline (pcap_thread=0xea13bf1f030, file=Variable "file" is not available.
) at ../../src/pcap-thread/pcap_thread.c:2916
#4  0x00000ea13bf12ea6 in open_pcaps () at ../../src/pcaps.c:171
#5  0x00000ea13bf0b572 in main (argc=Variable "argc" is not available.
) at ../../src/dnscap.c:152
(gdb) bt full
#0  0x00000ea3f48f031d in gen_mcode6 (cstate=0x7f7ffffc4680, s1=0xea3b36f1ea0 "::1", s2=Variable "s2" is not available.
) at ./gencode.c:6805
	res = (struct addrinfo *) 0xea3622f0880
	addr = (struct in6_addr *) 0x8
	mask = {__u6_addr = {__u6_addr8 = '�' <repeats 16 times>, __u6_addr16 = {65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535}, __u6_addr32 = {4294967295, 4294967295, 4294967295, 4294967295}}}
	b = Variable "b" is not available.

Full libpcap 1.9.1 compile and install log:

+ wget http://www.tcpdump.org/release/libpcap-1.9.1.tar.gz
--2020-09-10 13:16:40--  http://www.tcpdump.org/release/libpcap-1.9.1.tar.gz
Resolving www.tcpdump.org (www.tcpdump.org)... 198.199.88.104, 192.139.46.66, 2604:a880:400:d0::2221:3001, ...
Connecting to www.tcpdump.org (www.tcpdump.org)|198.199.88.104|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 861228 (841K) [application/octet-stream]
Saving to: 'libpcap-1.9.1.tar.gz'

libpcap-1.9.1.tar.gz                                     100%[===============================================================================================================================>] 841.04K   391KB/s    in 2.1s

2020-09-10 13:16:43 (391 KB/s) - 'libpcap-1.9.1.tar.gz' saved [861228/861228]

+ tar zxf libpcap-1.9.1.tar.gz
+ cd libpcap-1.9.1
+ ./configure
checking build system type... x86_64-unknown-openbsd6.7
checking host system type... x86_64-unknown-openbsd6.7
checking target system type... x86_64-unknown-openbsd6.7
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for gcc option to accept ISO C99... -std=gnu99
checking whether the compiler supports the -fvisibility=hidden option... yes
checking for inline... inline
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for _LARGEFILE_SOURCE value needed for large files... no
checking how to run the C preprocessor... gcc -std=gnu99 -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking sys/ioccom.h usability... yes
checking sys/ioccom.h presence... yes
checking for sys/ioccom.h... yes
checking sys/sockio.h usability... yes
checking sys/sockio.h presence... yes
checking for sys/sockio.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking netpacket/packet.h usability... no
checking netpacket/packet.h presence... no
checking for netpacket/packet.h... no
checking for net/pfvar.h... yes
checking whether net/pfvar.h defines PF_NAT through PF_NORDR... yes
checking for ANSI ioctl definitions... yes
checking for strerror... yes
checking for strerror_r... yes
checking whether strerror_r is GNU-style... no
checking for vsyslog... yes
checking for vsnprintf... yes
checking for snprintf... yes
checking for vasprintf... yes
checking for asprintf... yes
checking for strlcat... yes
checking for strlcpy... yes
checking for strtok_r... yes
checking for ffs... yes
checking whether ffs is declared... yes
checking for getaddrinfo... yes
checking for library containing putmsg... no
checking whether getnetbyname_r is declared... no
checking whether getprotobyname_r is declared... yes
checking for the Linux getprotobyname_r()... no
checking for Solaris/IRIX getprotobyname_r()... no
checking for AIX getprotobyname_r()... yes
checking for ether_hostton... yes
checking whether ether_hostton is declared... no
checking whether ether_hostton is declared... no
checking whether ether_hostton is declared... no
checking whether ether_hostton is declared... no
checking whether ether_hostton is declared... yes
checking pthread.h usability... yes
checking pthread.h presence... yes
checking for pthread.h... yes
checking for pthread_create... no
checking for pthread_create in -lpthreads... no
checking for pthread_create in -lpthread... yes
checking if --disable-protochain option is specified... enabled
checking net/bpf.h usability... yes
checking net/bpf.h presence... yes
checking for net/bpf.h... yes
checking if net/bpf.h defines BIOCSETIF... yes
checking net/pfilt.h usability... no
checking net/pfilt.h presence... no
checking for net/pfilt.h... no
checking net/enet.h usability... no
checking net/enet.h presence... no
checking for net/enet.h... no
checking net/nit.h usability... no
checking net/nit.h presence... no
checking for net/nit.h... no
checking sys/net/nit.h usability... no
checking sys/net/nit.h presence... no
checking for sys/net/nit.h... no
checking linux/socket.h usability... no
checking linux/socket.h presence... no
checking for linux/socket.h... no
checking net/raw.h usability... no
checking net/raw.h presence... no
checking for net/raw.h... no
checking sys/dlpi.h usability... no
checking sys/dlpi.h presence... no
checking for sys/dlpi.h... no
checking packet capture type... bpf
checking net/if_media.h usability... yes
checking net/if_media.h presence... yes
checking for net/if_media.h... yes
checking for struct BPF_TIMEVAL... no
checking for getifaddrs... yes
checking ifaddrs.h usability... yes
checking ifaddrs.h presence... yes
checking for ifaddrs.h... yes
configure: no hardware timestamp support implemented for openbsd6.7
checking for socklen_t... yes
checking dagapi.h usability... no
checking dagapi.h presence... no
checking for dagapi.h... no
checking whether we have Septel API headers... no
checking whether we have Myricom Sniffer API... no
checking whether TurboCap is supported... no
checking whether to enable remote packet capture... no
checking whether to build optimizer debugging code... no
checking whether to build parser debugging code... no
checking for flex... flex
checking lex output file root... lex.yy
checking lex library... -lfl
checking whether yytext is a pointer... yes
checking for capable lex... yes
checking for bison... bison -y
checking for capable yacc/bison... yes
checking for ranlib... ranlib
checking for ar... ar
checking whether ln -s works... yes
checking for struct sockaddr.sa_len... yes
checking for struct sockaddr_storage... yes
checking for dl_hp_ppa_info_t.dl_module_id_1... no
checking if unaligned accesses fail... no
checking for USB sniffing support... no
checking whether the platform could support netfilter sniffing... no
checking whether we can compile the netmap support... no
configure: no Bluetooth sniffing support implemented for openbsd6.7
checking for pkg-config... pkg-config
checking for D-Bus... no
checking for ibv_get_device_list in -libverbs... no
checking for a BSD-compatible install... /usr/bin/install -c
configure: creating ./config.status
config.status: creating Makefile
config.status: creating pcap-filter.manmisc
config.status: creating pcap-linktype.manmisc
config.status: creating pcap-tstamp.manmisc
config.status: creating pcap-savefile.manfile
config.status: creating pcap.3pcap
config.status: creating pcap_compile.3pcap
config.status: creating pcap_datalink.3pcap
config.status: creating pcap_dump_open.3pcap
config.status: creating pcap_get_tstamp_precision.3pcap
config.status: creating pcap_list_datalinks.3pcap
config.status: creating pcap_list_tstamp_types.3pcap
config.status: creating pcap_open_dead.3pcap
config.status: creating pcap_open_offline.3pcap
config.status: creating pcap_set_immediate_mode.3pcap
config.status: creating pcap_set_tstamp_precision.3pcap
config.status: creating pcap_set_tstamp_type.3pcap
config.status: creating rpcapd/Makefile
config.status: creating rpcapd/rpcapd.manadmin
config.status: creating rpcapd/rpcapd-config.manfile
config.status: creating testprogs/Makefile
config.status: creating config.h
config.status: executing default-1 commands
+ make
gcc -std=gnu99 -fvisibility=hidden  -fpic -I.  -I/usr/local/include -DBUILDING_PCAP -Dpcap_EXPORTS -DHAVE_CONFIG_H  -g -O2    -c ./pcap-bpf.c
gcc -std=gnu99 -fvisibility=hidden  -fpic -I.  -I/usr/local/include -DBUILDING_PCAP -Dpcap_EXPORTS -DHAVE_CONFIG_H  -g -O2    -c ./fad-getad.c
gcc -std=gnu99 -fvisibility=hidden  -fpic -I.  -I/usr/local/include -DBUILDING_PCAP -Dpcap_EXPORTS -DHAVE_CONFIG_H  -g -O2    -c ./pcap.c
bison -y -p pcap_ -o grammar.c -d ./grammar.y
./grammar.y: warning: 38 shift/reduce conflicts [-Wconflicts-sr]
flex -P pcap_ --header-file=scanner.h --nounput -o scanner.c ./scanner.l
gcc -std=gnu99 -fvisibility=hidden  -fpic -I.  -I/usr/local/include -DBUILDING_PCAP -Dpcap_EXPORTS -DHAVE_CONFIG_H  -g -O2    -c ./gencode.c
gcc -std=gnu99 -fvisibility=hidden  -fpic -I.  -I/usr/local/include -DBUILDING_PCAP -Dpcap_EXPORTS -DHAVE_CONFIG_H  -g -O2    -c ./optimize.c
gcc -std=gnu99 -fvisibility=hidden  -fpic -I.  -I/usr/local/include -DBUILDING_PCAP -Dpcap_EXPORTS -DHAVE_CONFIG_H  -g -O2    -c ./nametoaddr.c
gcc -std=gnu99 -fvisibility=hidden  -fpic -I.  -I/usr/local/include -DBUILDING_PCAP -Dpcap_EXPORTS -DHAVE_CONFIG_H  -g -O2    -c ./etherent.c
gcc -std=gnu99 -fvisibility=hidden  -fpic -I.  -I/usr/local/include -DBUILDING_PCAP -Dpcap_EXPORTS -DHAVE_CONFIG_H  -g -O2    -c ./fmtutils.c
gcc -std=gnu99 -fvisibility=hidden  -fpic -I.  -I/usr/local/include -DBUILDING_PCAP -Dpcap_EXPORTS -DHAVE_CONFIG_H  -g -O2    -c ./savefile.c
gcc -std=gnu99 -fvisibility=hidden  -fpic -I.  -I/usr/local/include -DBUILDING_PCAP -Dpcap_EXPORTS -DHAVE_CONFIG_H  -g -O2    -c ./sf-pcap.c
gcc -std=gnu99 -fvisibility=hidden  -fpic -I.  -I/usr/local/include -DBUILDING_PCAP -Dpcap_EXPORTS -DHAVE_CONFIG_H  -g -O2    -c ./sf-pcapng.c
gcc -std=gnu99 -fvisibility=hidden  -fpic -I.  -I/usr/local/include -DBUILDING_PCAP -Dpcap_EXPORTS -DHAVE_CONFIG_H  -g -O2    -c ./pcap-common.c
gcc -std=gnu99 -fvisibility=hidden  -fpic -I.  -I/usr/local/include -DBUILDING_PCAP -Dpcap_EXPORTS -DHAVE_CONFIG_H  -g -O2    -c ./bpf_image.c
gcc -std=gnu99 -fvisibility=hidden  -fpic -I.  -I/usr/local/include -DBUILDING_PCAP -Dpcap_EXPORTS -DHAVE_CONFIG_H  -g -O2    -c ./bpf_filter.c
gcc -std=gnu99 -fvisibility=hidden  -fpic -I.  -I/usr/local/include -DBUILDING_PCAP -Dpcap_EXPORTS -DHAVE_CONFIG_H  -g -O2    -c ./bpf_dump.c
gcc -std=gnu99 -fvisibility=hidden  -fpic -I.  -I/usr/local/include -DBUILDING_PCAP -Dpcap_EXPORTS -DHAVE_CONFIG_H  -g -O2    -c scanner.c
gcc -std=gnu99 -fvisibility=hidden  -fpic -I.  -I/usr/local/include -DBUILDING_PCAP -Dpcap_EXPORTS -DHAVE_CONFIG_H  -g -O2    -c grammar.c
ar rc libpcap.a pcap-bpf.o fad-getad.o pcap.o gencode.o optimize.o nametoaddr.o etherent.o fmtutils.o savefile.o sf-pcap.o sf-pcapng.o pcap-common.o bpf_image.o bpf_filter.o bpf_dump.o  scanner.o grammar.o
ranlib libpcap.a
VER=`cat ./VERSION`;  MAJOR_VER=`sed 's/\([0-9][0-9]*\)\..*/\1/' ./VERSION`;  gcc -std=gnu99  -shared -Wl,-soname,libpcap.so.$MAJOR_VER  -o libpcap.so.$VER pcap-bpf.o fad-getad.o pcap.o gencode.o optimize.o nametoaddr.o etherent.o fmtutils.o savefile.o sf-pcap.o sf-pcapng.o pcap-common.o bpf_image.o bpf_filter.o bpf_dump.o  scanner.o grammar.o
./config.status --file=libpcap.pc.tmp:./libpcap.pc.in
config.status: creating libpcap.pc.tmp
mv libpcap.pc.tmp libpcap.pc
chmod a+x libpcap.pc
./config.status --file=pcap-config.tmp:./pcap-config.in
config.status: creating pcap-config.tmp
mv pcap-config.tmp pcap-config
chmod a+x pcap-config
+ make install
VER=`cat ./VERSION`;  MAJOR_VER=`sed 's/\([0-9][0-9]*\)\..*/\1/' ./VERSION`;  gcc -std=gnu99  -shared -Wl,-soname,libpcap.so.$MAJOR_VER  -o libpcap.so.$VER pcap-bpf.o fad-getad.o pcap.o gencode.o optimize.o nametoaddr.o etherent.o fmtutils.o savefile.o sf-pcap.o sf-pcapng.o pcap-common.o bpf_image.o bpf_filter.o bpf_dump.o  scanner.o grammar.o
[ -d /usr/local/lib ] ||  (mkdir -p /usr/local/lib; chmod 755 /usr/local/lib)
VER=`cat ./VERSION`;  MAJOR_VER=`sed 's/\([0-9][0-9]*\)\..*/\1/' ./VERSION`;  /usr/bin/install -c libpcap.so.$VER /usr/local/lib/libpcap.so.$VER;  ln -sf libpcap.so.$VER /usr/local/lib/libpcap.so.$MAJOR_VER;  ln -sf libpcap.so.$MAJOR_VER /usr/local/lib/libpcap.so
#
# Most platforms have separate suffixes for shared and
# archive libraries, so we install both.
#
[ -d /usr/local/lib ] ||  (mkdir -p /usr/local/lib; chmod 755 /usr/local/lib)
/usr/bin/install -c -m 644 libpcap.a /usr/local/lib/libpcap.a
ranlib /usr/local/lib/libpcap.a
[ -d /usr/local/lib ] ||  (mkdir -p /usr/local/lib; chmod 755 /usr/local/lib)
[ -d /usr/local/include ] ||  (mkdir -p /usr/local/include; chmod 755 /usr/local/include)
[ -d /usr/local/include/pcap ] ||  (mkdir -p /usr/local/include/pcap; chmod 755 /usr/local/include/pcap)
[ -d /usr/local/share/man/man1 ] ||  (mkdir -p /usr/local/share/man/man1; chmod 755 /usr/local/share/man/man1)
[ -d /usr/local/share/man/man3 ] ||  (mkdir -p /usr/local/share/man/man3; chmod 755 /usr/local/share/man/man3)
[ -d /usr/local/share/man/man5 ] ||  (mkdir -p /usr/local/share/man/man5; chmod 755 /usr/local/share/man/man5)
[ -d /usr/local/share/man/man7 ] ||  (mkdir -p /usr/local/share/man/man7; chmod 755 /usr/local/share/man/man7)
for i in pcap.h  pcap-bpf.h  pcap-namedb.h  pcap/bpf.h  pcap/bluetooth.h  pcap/can_socketcan.h  pcap/compiler-tests.h  pcap/dlt.h  pcap/funcattrs.h  pcap/pcap-inttypes.h  pcap/ipnet.h  pcap/namedb.h  pcap/nflog.h  pcap/pcap.h  pcap/sll.h  pcap/socket.h  pcap/vlan.h  pcap/usb.h; do  /usr/bin/install -c -m 644 ./$i  /usr/local/include/$i; done
[ -d /usr/local/bin ] ||  (mkdir -p /usr/local/bin; chmod 755 /usr/local/bin)
/usr/bin/install -c pcap-config /usr/local/bin/pcap-config
[ -d /usr/local/lib/pkgconfig ] ||  (mkdir -p /usr/local/lib/pkgconfig; chmod 755 /usr/local/lib/pkgconfig)
/usr/bin/install -c -m 644 libpcap.pc /usr/local/lib/pkgconfig/libpcap.pc
for i in pcap-config.1; do  /usr/bin/install -c -m 644 ./$i  /usr/local/share/man/man1/$i; done
for i in pcap_activate.3pcap  pcap_breakloop.3pcap  pcap_can_set_rfmon.3pcap  pcap_close.3pcap  pcap_create.3pcap  pcap_datalink_name_to_val.3pcap  pcap_datalink_val_to_name.3pcap  pcap_dump.3pcap  pcap_dump_close.3pcap  pcap_dump_file.3pcap  pcap_dump_flush.3pcap  pcap_dump_ftell.3pcap  pcap_file.3pcap  pcap_fileno.3pcap  pcap_findalldevs.3pcap  pcap_freecode.3pcap  pcap_get_required_select_timeout.3pcap  pcap_get_selectable_fd.3pcap  pcap_geterr.3pcap  pcap_inject.3pcap  pcap_is_swapped.3pcap  pcap_lib_version.3pcap  pcap_lookupdev.3pcap  pcap_lookupnet.3pcap  pcap_loop.3pcap  pcap_major_version.3pcap  pcap_next_ex.3pcap  pcap_offline_filter.3pcap  pcap_open_live.3pcap  pcap_set_buffer_size.3pcap  pcap_set_datalink.3pcap  pcap_set_promisc.3pcap  pcap_set_protocol_linux.3pcap  pcap_set_rfmon.3pcap  pcap_set_snaplen.3pcap  pcap_set_timeout.3pcap  pcap_setdirection.3pcap  pcap_setfilter.3pcap  pcap_setnonblock.3pcap  pcap_snapshot.3pcap  pcap_stats.3pcap  pcap_statustostr.3pcap  pcap_strerror.3pcap  pcap_tstamp_type_name_to_val.3pcap  pcap_tstamp_type_val_to_name.3pcap; do  /usr/bin/install -c -m 644 ./$i  /usr/local/share/man/man3/$i; done
for i in pcap.3pcap pcap_compile.3pcap pcap_datalink.3pcap pcap_dump_open.3pcap pcap_get_tstamp_precision.3pcap pcap_list_datalinks.3pcap pcap_list_tstamp_types.3pcap pcap_open_dead.3pcap pcap_open_offline.3pcap pcap_set_immediate_mode.3pcap pcap_set_tstamp_precision.3pcap pcap_set_tstamp_type.3pcap; do  /usr/bin/install -c -m 644 $i  /usr/local/share/man/man3/$i; done
(cd /usr/local/share/man/man3 &&  rm -f pcap_datalink_val_to_description.3pcap &&  ln -s pcap_datalink_val_to_name.3pcap  pcap_datalink_val_to_description.3pcap &&  rm -f pcap_datalink_val_to_description_or_dlt.3pcap &&  ln -s pcap_datalink_val_to_name.3pcap  pcap_datalink_val_to_description_or_dlt.3pcap &&  rm -f pcap_dump_fopen.3pcap &&  ln -s pcap_dump_open.3pcap pcap_dump_fopen.3pcap &&  rm -f pcap_freealldevs.3pcap &&  ln -s pcap_findalldevs.3pcap pcap_freealldevs.3pcap &&  rm -f pcap_perror.3pcap &&  ln -s pcap_geterr.3pcap pcap_perror.3pcap &&  rm -f pcap_sendpacket.3pcap &&  ln -s pcap_inject.3pcap pcap_sendpacket.3pcap &&  rm -f pcap_free_datalinks.3pcap &&  ln -s pcap_list_datalinks.3pcap pcap_free_datalinks.3pcap &&  rm -f pcap_free_tstamp_types.3pcap &&  ln -s pcap_list_tstamp_types.3pcap pcap_free_tstamp_types.3pcap &&  rm -f pcap_dispatch.3pcap &&  ln -s pcap_loop.3pcap pcap_dispatch.3pcap &&  rm -f pcap_minor_version.3pcap &&  ln -s pcap_major_version.3pcap pcap_minor_version.3pcap &&  rm -f pcap_next.3pcap &&  ln -s pcap_next_ex.3pcap pcap_next.3pcap &&  rm -f pcap_open_dead_with_tstamp_precision.3pcap &&  ln -s pcap_open_dead.3pcap  pcap_open_dead_with_tstamp_precision.3pcap &&  rm -f pcap_open_offline_with_tstamp_precision.3pcap &&  ln -s pcap_open_offline.3pcap pcap_open_offline_with_tstamp_precision.3pcap &&  rm -f pcap_fopen_offline.3pcap &&  ln -s pcap_open_offline.3pcap pcap_fopen_offline.3pcap &&  rm -f pcap_fopen_offline_with_tstamp_precision.3pcap &&  ln -s pcap_open_offline.3pcap pcap_fopen_offline_with_tstamp_precision.3pcap &&  rm -f pcap_tstamp_type_val_to_description.3pcap &&  ln -s pcap_tstamp_type_val_to_name.3pcap pcap_tstamp_type_val_to_description.3pcap &&  rm -f pcap_getnonblock.3pcap &&  ln -s pcap_setnonblock.3pcap pcap_getnonblock.3pcap)   
for i in pcap-savefile.manfile.in; do  /usr/bin/install -c -m 644 `echo $i | sed 's/.manfile.in/.manfile/'`  /usr/local/share/man/man5/`echo $i | sed 's/.manfile.in/.5/'`; done
for i in pcap-filter.manmisc.in  pcap-linktype.manmisc.in  pcap-tstamp.manmisc.in; do  /usr/bin/install -c -m 644 `echo $i | sed 's/.manmisc.in/.manmisc/'`  /usr/local/share/man/man7/`echo $i | sed 's/.manmisc.in/.7/'`; done
@mcr
Copy link
Member

mcr commented Sep 10, 2020 via email

@jelu
Copy link
Author

jelu commented Sep 10, 2020

I don't know what's wrong, but:

dnscap:/usr/lib/libc.so.96.0: /usr/local/lib/libbind.so.6.1 : WARNING: symbol(_res) size mismatch, relink your program
dnscap:/usr/lib/libc.so.96.0: /usr/local/lib/libbind.so.6.1 : WARNING: symbol(__p_type_syms) size mismatch, relink your program

This concerns me.

Hmm, yeah that might be it actually. _res is a symbol on OpenBSD but a #define on all my other platforms.

Will look more at this next week, old software, old dependency :/

@jelu
Copy link
Author

jelu commented Sep 14, 2020

I don't know when I will have time to look at this, but once I do and if it's still an issue I'll reopen then. Sorry for the noise!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

2 participants