diff -urN tcpdump-3.4.orig/Makefile.in tcpdump-3.4/Makefile.in --- tcpdump-3.4.orig/Makefile.in Sat Jul 3 17:50:45 1999 +++ tcpdump-3.4/Makefile.in Sat Jul 3 19:03:02 1999 @@ -41,8 +41,8 @@ CC = @CC@ PROG = tcpdump -CCOPT = @V_CCOPT@ -INCLS = -I. @V_INCLS@ +CCOPT = @V_CCOPT@ -DINET6=1 +INCLS = -I/usr/include/pcap @V_INCLS@ DEFS = @DEFS@ -DHAVE_FDDI # Standard CFLAGS @@ -73,7 +73,7 @@ print-snmp.c print-sunrpc.c print-tcp.c print-tftp.c print-tr.c \ print-udp.c print-wb.c addrtoname.c bpf_dump.c gmt2local.c \ machdep.c parsenfsfh.c util.c savestr.c setsignal.c \ - print-smb.c smbutil.c + print-smb.c smbutil.c print-ipv6.c print-icmpv6.c LOCALSRC = GENSRC = version.c diff -urN tcpdump-3.4.orig/addrtoname.c tcpdump-3.4/addrtoname.c --- tcpdump-3.4.orig/addrtoname.c Sat Jul 3 17:50:45 1999 +++ tcpdump-3.4/addrtoname.c Sat Jul 3 17:58:06 1999 @@ -62,7 +62,7 @@ #include #include -#ifdef INET6 +#if defined(INET6) && __GLIBC__ < 2 #include #endif /* INET6 */ diff -urN tcpdump-3.4.orig/linux-include/netinet/ip_icmp.h tcpdump-3.4/linux-include/netinet/ip_icmp.h --- tcpdump-3.4.orig/linux-include/netinet/ip_icmp.h Sat Jul 3 17:50:45 1999 +++ tcpdump-3.4/linux-include/netinet/ip_icmp.h Sat Jul 3 19:12:53 1999 @@ -33,6 +33,7 @@ * @(#)ip_icmp.h 8.1 (Berkeley) 6/10/93 */ +#ifndef _NO_INCLUDE_LOCAL /* * Interface Control Message Protocol Definitions. * Per RFC 792, September 1981. @@ -157,4 +158,5 @@ void icmp_reflect __P((struct mbuf *)); void icmp_send __P((struct mbuf *, struct mbuf *)); int icmp_sysctl __P((int *, u_int, void *, size_t *, void *, size_t)); +#endif #endif diff -urN tcpdump-3.4.orig/print-atalk.c tcpdump-3.4/print-atalk.c --- tcpdump-3.4.orig/print-atalk.c Sat Jul 3 17:50:45 1999 +++ tcpdump-3.4/print-atalk.c Sat Jul 3 17:58:06 1999 @@ -39,12 +39,15 @@ #include #include #include -#include #include #include -#include #include -#include + +#if ! __GLIBC__ >= 2 +# include +# include +# include +#endif #include #include diff -urN tcpdump-3.4.orig/print-atm.c tcpdump-3.4/print-atm.c --- tcpdump-3.4.orig/print-atm.c Sat Jul 3 17:50:45 1999 +++ tcpdump-3.4/print-atm.c Sat Jul 3 17:58:06 1999 @@ -37,11 +37,14 @@ #include #include #include -#include #include -#include #include -#include + +#if ! __GLIBC__ >= 2 +# include +# include +# include +#endif #include #include diff -urN tcpdump-3.4.orig/print-ax25.c tcpdump-3.4/print-ax25.c --- tcpdump-3.4.orig/print-ax25.c Sat Jul 3 17:50:45 1999 +++ tcpdump-3.4/print-ax25.c Sat Jul 3 17:58:06 1999 @@ -26,7 +26,10 @@ #include #include #include -#include + +#if ! __GLIBC__ >= 2 +# include +#endif #include diff -urN tcpdump-3.4.orig/print-domain.c tcpdump-3.4/print-domain.c --- tcpdump-3.4.orig/print-domain.c Sat Jul 3 17:50:45 1999 +++ tcpdump-3.4/print-domain.c Sat Jul 3 17:58:06 1999 @@ -38,11 +38,14 @@ #include #include #include -#include #include -#include #include -#include + +#if ! __GLIBC__ >= 2 +# include +# include +# include +#endif #ifdef NOERROR #undef NOERROR /* Solaris sucks */ diff -urN tcpdump-3.4.orig/print-dvmrp.c tcpdump-3.4/print-dvmrp.c --- tcpdump-3.4.orig/print-dvmrp.c Sat Jul 3 17:50:45 1999 +++ tcpdump-3.4/print-dvmrp.c Sat Jul 3 17:58:06 1999 @@ -31,11 +31,14 @@ #include #include #include -#include #include -#include #include -#include + +#if ! __GLIBC__ >= 2 +# include +# include +# include +#endif #include #include diff -urN tcpdump-3.4.orig/print-ether.c tcpdump-3.4/print-ether.c --- tcpdump-3.4.orig/print-ether.c Sat Jul 3 17:50:45 1999 +++ tcpdump-3.4/print-ether.c Sat Jul 3 17:58:06 1999 @@ -42,11 +42,14 @@ #include #include #include -#include #include -#include #include -#include + +#if ! __GLIBC__ >= 2 +# include +# include +# include +#endif #if defined(__GLIBC__) && __GLIBC__ >= 2 #include diff -urN tcpdump-3.4.orig/print-icmp.c tcpdump-3.4/print-icmp.c --- tcpdump-3.4.orig/print-icmp.c Sat Jul 3 17:50:45 1999 +++ tcpdump-3.4/print-icmp.c Sat Jul 3 17:58:06 1999 @@ -34,16 +34,21 @@ #endif #include +#if ! __GLIBC__ >= 2 +# include +# include +# include +#else +# define __FAVOR_BSD +#endif + #include #include #include #include #include -#include #include -#include #include -#include #include #include diff -urN tcpdump-3.4.orig/print-icmpv6.c tcpdump-3.4/print-icmpv6.c --- tcpdump-3.4.orig/print-icmpv6.c Sat Jul 3 17:50:45 1999 +++ tcpdump-3.4/print-icmpv6.c Sat Jul 3 19:31:02 1999 @@ -107,30 +107,42 @@ #include #include -#include - #include -#include #include #include -#include -#include #include -#include #include -#include - -#include -#include -#include -#include -#include -#include +#if ! __GLIBC__ >= 2 +# include +# include +# include +#endif + +#include + +#if __GLIBC__ >= 2 +# include +# include +# include +#else +# include +# include +#endif +#include +#ifdef __STDC__ +#include +#endif +#include + #include "interface.h" #include "addrtoname.h" +#define __u8 u_int8_t +#define __u16 u_int16_t +#define __u32 u_int32_t + char *ipv6addr_string(struct in6_addr *); struct na_hdr @@ -360,7 +372,11 @@ void icmpv6_print(register const u_char *bp, int length) { +#if __GLIBC__ >= 2 + register const struct icmp6_hdr *dp; +#else register const struct ipv6_icmp *dp; +#endif register char *str; register const struct ipv6 *oip; register const struct udphdr *ouh; @@ -376,6 +392,47 @@ str = buf; *str = '\0'; + +/* Translation from NRL to Glibc defines */ +#if __GLIBC__ >= 2 +# define ICMPV6_MINLEN ICMP_MINLEN +# define ICMPV6_ECHOREPLY ICMP6_ECHO_REPLY +# define ICMPV6_ECHO ICMP6_ECHO_REQUEST +# define ICMPV6_TOOBIG ICMP6_PACKET_TOO_BIG +/* Destination unreachable */ +# define ICMPV6_UNREACH ICMP6_DST_UNREACH +# define ICMPV6_UNREACH_NOROUTE ICMP6_DST_UNREACH_NOROUTE +# define ICMPV6_UNREACH_ADMIN ICMP6_DST_UNREACH_ADMIN +# define ICMPV6_UNREACH_NOTNEIGHBOR ICMP6_DST_UNREACH_NOTNEIGHBOR +# define ICMPV6_UNREACH_ADDRESS ICMP6_DST_UNREACH_ADDR +# define ICMPV6_UNREACH_PORT ICMP6_DST_UNREACH_NOPORT +/* Membership */ +# define ICMPV6_GRPQUERY ICMP6_MEMBERSHIP_QUERY +# define ICMPV6_GRPREPORT ICMP6_MEMBERSHIP_REPORT +# define ICMPV6_GRPTERM ICMP6_MEMBERSHIP_REDUCTION +/* Time exceeded */ +# define ICMPV6_TIMXCEED ICMP6_TIME_EXCEEDED +# define ICMPV6_TIMXCEED_INTRANS ICMP6_TIME_EXCEED_TRANSIT +# define ICMPV6_TIMXCEED_REASS ICMP6_TIME_EXCEED_REASSEMBLY +/* Parameter problems */ +# define ICMPV6_PARAMPROB ICMP6_PARAM_PROB +# define ICMPV6_PARAMPROB_PROB ICMP6_PARAMPROB_HEADER +# define ICMPV6_PARAMPROB_NEXTHDR ICMP6_PARAMPROB_NEXTHEADER +# define ICMPV6_PARAMPROB_BADOPT ICMP6_PARAMPROB_OPTION +/* Neighbor discovery */ +# define ICMPV6_ROUTERSOL ND_ROUTER_SOLICIT +# define ICMPV6_ROUTERADV ND_ROUTER_ADVERT +# define ICMPV6_NEIGHBORSOL ND_NEIGHBOR_SOLICIT +# define ICMPV6_NEIGHBORADV ND_NEIGHBOR_ADVERT +# define ICMPV6_REDIRECT ND_REDIRECT + +# define icmp_type icmp6_type +# define icmp_code icmp6_code +# define icmp_nexthopmtu icmp6_mtu +# define icmp_grpdelay icmp6_maxdelay +# define icmp_paramptr icmp6_pptr +#endif + if (left < ICMPV6_MINLEN) goto trunc; diff -urN tcpdump-3.4.orig/print-igrp.c tcpdump-3.4/print-igrp.c --- tcpdump-3.4.orig/print-igrp.c Sat Jul 3 17:50:45 1999 +++ tcpdump-3.4/print-igrp.c Sat Jul 3 17:58:06 1999 @@ -33,9 +33,13 @@ #include #include #include -#include #include -#include + +#if ! __GLIBC__ >= 2 +# include +# include +# include +#endif #include #include diff -urN tcpdump-3.4.orig/print-ip.c tcpdump-3.4/print-ip.c --- tcpdump-3.4.orig/print-ip.c Sat Jul 3 17:50:45 1999 +++ tcpdump-3.4/print-ip.c Sat Jul 3 17:58:06 1999 @@ -36,11 +36,14 @@ #include #include #include -#include #include -#include #include -#include + +#if ! __GLIBC__ >= 2 +# include +# include +# include +#endif #ifdef HAVE_MALLOC_H #include diff -urN tcpdump-3.4.orig/print-ipv6.c tcpdump-3.4/print-ipv6.c --- tcpdump-3.4.orig/print-ipv6.c Sat Jul 3 17:50:45 1999 +++ tcpdump-3.4/print-ipv6.c Sat Jul 3 19:02:24 1999 @@ -111,16 +111,23 @@ #include #include #include -#include #include -#include #include -#include + +#if ! __GLIBC__ >= 2 +# include +# include +# include +#endif #include -#include -#include +#if __GLIBC__ >= 2 +# include +#else +# include +# include +#endif #include #ifdef __STDC__ @@ -162,7 +169,7 @@ printf(" Pad%d", optlen); break; case 194: - printf(" Jumbo %d", ntohl(*(__u32*)optptr)); + printf(" Jumbo %d", ntohl(*(u_int32_t*)optptr)); if (optlen != 6) printf(" ", optlen); break; @@ -193,7 +200,14 @@ printf(" } "); } +#if __GLIBC__ >= 2 +static void frag_print(struct ip6_frag *ip) +# define frag_reserved ip6f_reserved +# define frag_id ip6f_ident +# define frag_bitsoffset ip6f_offlg +#else static void frag_print(struct ipv6_fraghdr *ip) +#endif { u_int16_t bitoffset; printf(" frag["); @@ -206,7 +220,15 @@ printf(" id=%u] ", ntohl(ip->frag_id)); } +#if __GLIBC__ >= 2 +static void route_print(struct ip6_rthdr0 *ip) +#define i6sr_type ip6r0_type +#define i6sr_numaddrs ip6r0_len +#define i6sr_left ip6r0_segleft +#define i6sr_reserved ip6r0_reserved +#else static void route_print(struct ipv6_srcroute0 *ip) +#endif { printf("rthdr%d ", ip->i6sr_type); if (ip->i6sr_type == 0) { @@ -216,7 +238,7 @@ while (n > 0) { if (n == ip->i6sr_left) printf ("|> "); - if (htonl(1<i6sr_reserved) + if (htonl(1<i6sr_reserved) printf("!"); printf("%s ", ipv6addr_string(a)); a++; @@ -224,7 +246,7 @@ n--; } if (i>0) { - if (htonl(1<i6sr_reserved) + if (htonl(1<i6sr_reserved) printf("! "); } } @@ -264,7 +286,11 @@ void ipv6_print (register const u_char *bp, register int length) { char buf[80]; +#if __GLIBC__ >= 2 + register const struct ip6_hdr *ip; +#else register const struct ipv6 *ip; +#endif u_int8_t nhdr; int first = 1, len=0; char *cp; @@ -272,12 +298,21 @@ struct hostent *name; int is_fragment = 0; - ip= (const struct ipv6 *) bp; +#if __GLIBC__ >= 2 + ip= (const struct ip6_hdr *) bp; + if (bp + sizeof(struct ip6_hdr) > snapend) { +#else + ip= (const struct ipv6_hdr *) bp; if (bp + sizeof(struct ipv6) > snapend) { +#endif printf("[|ipv6]"); return; } +#if __GLIBC__ >= 2 + if (length < sizeof(struct ip6_hdr)){ +#else if (length < sizeof(struct ipv6)){ +#endif if (partial_frame) (void)printf("truncated-ipv6 %d", length); else @@ -285,7 +320,11 @@ return; } +#if __GLIBC__ >= 2 + len = sizeof(struct ip6_hdr) + ntohs(ip->ip6_plen); +#else len = sizeof(struct ipv6) + ntohs(ip->ipv6_length); +#endif if (length < len) { if (!partial_frame) { @@ -295,13 +334,24 @@ } length = len; +#if __GLIBC__ >= 2 + len = sizeof(struct ip6_hdr); + + printf(" %s > %s ", ipv6addr_string(&(ip->ip6_src)), + ipv6addr_string(&(ip->ip6_dst))); +#else len = sizeof(struct ipv6); printf("%s > %s ", ipv6addr_string(&(ip->ipv6_src)), ipv6addr_string(&(ip->ipv6_dst))); +#endif if (vflag) { +#if __GLIBC__ >= 2 + p = ntohl(ip->ip6_flow); +#else p = ntohl(ip->ipv6_versfl); +#endif printf(" ("); if ((p>>28) != 6) printf("v%d, ", p>>28); /* version */ @@ -318,20 +368,40 @@ } if (p&0x00fffff) printf("fl 0x%05x, ", p&0x00fffff); /* flow label */ +#if __GLIBC__ >= 2 + printf("len %d, ", ntohs(ip->ip6_plen)); /* payload length */ + printf("hop %d) ", ip->ip6_hlim); +#else printf("len %d, ", ntohs(ip->ipv6_length)); /* payload length */ printf("hop %d) ", ip->ipv6_hoplimit); +#endif } - + +#if __GLIBC__ >= 2 + nhdr = ip->ip6_nxt; +#else nhdr = ip->ipv6_nexthdr; +#endif cp = (char *)(ip + 1); +#if __GLIBC__ >= 2 + while (( nhdr != IPPROTO_NONE) && (nhdr != IPPROTO_TCP) && + (nhdr != IPPROTO_UDP) && (nhdr != IPPROTO_ICMPV6) && + (nhdr != IPPROTO_IPIP) && (nhdr != IPPROTO_IPV6) && + (nhdr != IPPROTO_RSVP)) { +#else while ((nhdr!=NEXTHDR_NONE)&&(nhdr!=NEXTHDR_TCP)&&(nhdr!=NEXTHDR_UDP) &&(nhdr!=NEXTHDR_ICMPV6)&&(nhdr!=NEXTHDR_IPV4)&& (nhdr!=NEXTHDR_IPV6) && (nhdr!=IPPROTO_RSVP) && (nhdr!=IPPROTO_PIM)) { +#endif switch (nhdr) { +#if __GLIBC__ >= 2 + case IPPROTO_HOPOPTS: +#else case NEXTHDR_HOP: /* hop by hop (0)*/ +#endif len += (cp[1]+1)<<3; if (bp+len <= snapend) hop_print(cp); @@ -340,66 +410,140 @@ nhdr = cp[0]; cp += (cp[1]+1)<<3; break; - +#if __GLIBC__ >= 2 + case IPPROTO_ROUTING: + len += sizeof (struct ip6_rthdr0 ); +#else case NEXTHDR_ROUTING: /* routing header (43)*/ len += sizeof (struct ipv6_srcroute0 ); +#endif if (bp+len<=snapend && vflag) +#if __GLIBC__ >= 2 + route_print((struct ipv6_rthdr0 *)cp); +#else route_print((struct ipv6_srcroute0 *)cp); +#endif else printf(" route-hdr"); nhdr = cp[0]; cp += (cp[1]+1)<<3; break; - +#if __GLIBC__ >= 2 + case IPPROTO_FRAGMENT: + len += sizeof (struct ip6_frag); +#else case NEXTHDR_FRAGMENT: /* fragment header (44)*/ len += sizeof (struct ipv6_fraghdr); +#endif if (bp+len <= snapend && vflag) +#if __GLIBC__ >= 2 + frag_print((struct ipv6_frag *)cp); +#else frag_print((struct ipv6_fraghdr *)cp); +#endif else printf(" frag "); - if (!((((struct ipv6_fraghdr *)cp)->frag_bitsoffset) & htons(0xfff8))) { +#if __GLIBC__ >= 2 + if (!((((struct ip6_frag *)cp)->ip6f_offlg) & htons(IP6F_OFF_MASK))) { +#else + /* IP6_OFFMASK as defined in netinet/ipv6.h doesn't + care about endianess */ + if (!((((struct ipv6_fraghdr *)cp)->frag_bitsoffset) & htons(IP6_OFFMASK))) { +#endif nhdr = cp[0]; cp += 8; is_fragment = 1; break; } +#if __GLIBC__ >= 2 + nhdr = ((struct ip6_frag *) cp)->ip6f_nxt; +#else nhdr = ((struct ipv6_fraghdr *) cp)->frag_nexthdr; +#endif printf("nhdr="); switch (nhdr) { +#if __GLIBC__ >= 2 + case IPPROTO_HOPOPTS: +#else case NEXTHDR_HOP: +#endif printf("hop"); break; +#if __GLIBC__ >= 2 + case IPPROTO_IGMP: +#else case NEXTHDR_IGMP: +#endif printf("igmp"); break; +#if __GLIBC__ >= 2 + case IPPROTO_TCP: +#else case NEXTHDR_TCP: +#endif printf("tcp"); break; +#if __GLIBC__ >= 2 + case IPPROTO_UDP: +#else case NEXTHDR_UDP: +#endif printf("udp"); break; +#if __GLIBC__ >= 2 + case IPPROTO_IPV6: +#else case NEXTHDR_IPV6: +#endif printf("ipv6"); break; +#if __GLIBC__ >= 2 + case IPPROTO_ROUTING: +#else case NEXTHDR_ROUTING: +#endif printf("routing"); break; +#if __GLIBC__ >= 2 + case IPPROTO_FRAGMENT: +#else case NEXTHDR_FRAGMENT: +#endif printf("frag"); break; +#if __GLIBC__ >= 2 + case IPPROTO_ESP: +#else case NEXTHDR_ESP: +#endif printf("esp"); break; +#if __GLIBC__ >= 2 + case IPPROTO_AH: +#else case NEXTHDR_AH: +#endif printf("auth"); break; +#if __GLIBC__ >= 2 + case IPPROTO_ICMPV6: +#else case NEXTHDR_ICMPV6: +#endif printf("icmpv6"); break; +#if __GLIBC__ >= 2 + case IPPROTO_NONE: +#else case NEXTHDR_NONE: +#endif printf("no next"); break; +#if __GLIBC__ >= 2 + case IPPROTO_DSTOPTS: +#else case NEXTHDR_DEST: +#endif printf("dest"); break; default: @@ -407,7 +551,11 @@ } return; +#if __GLIBC__ >= 2 + case IPPROTO_ESP: +#else case NEXTHDR_ESP: /* encapsulation header (50)*/ +#endif len += sizeof(u_int32_t); #ifdef IPSEC if (bp + len <= snapend && vflag) { @@ -415,10 +563,14 @@ printf(" "); } else #endif - printf(" esp spi=%08x", *(__u32*)cp); + printf(" esp spi=%08x", *(u_int32_t*)cp); return; +#if __GLIBC__ >= 2 + case IPPROTO_AH: +#else case NEXTHDR_AH: /* authentication header (51)*/ +#endif #ifdef IPSEC len += sizeof(struct ipsec_ah) + sizeof(u_int32_t) * ((struct ipsec_ah *)cp)->ah_datalen; if (bp+len <= snapend && vflag) { @@ -430,13 +582,17 @@ cp += ((struct ipsec_ah *)cp)->ah_datalen * sizeof (u_int32_t)+ sizeof(struct ipsec_ah); #else len += (cp[1] + 2)<<2; - printf(" ah spi=%08x", *(__u32*)(cp+4)); + printf(" ah spi=%08x", *(u_int32_t*)(cp+4)); nhdr = cp[0]; cp += (cp[1]+2)<<2; #endif break; +#if __GLIBC__ >= 2 + case IPPROTO_DSTOPTS: +#else case NEXTHDR_DEST: /* destination options header (60)*/ +#endif len += (cp[1]+1)<<3; if (bp + len <= snapend && vflag) dest_print(cp); @@ -457,27 +613,53 @@ if (is_fragment) partial_frame++; switch (nhdr) { +#if __GLIBC__ >= 2 + case IPPROTO_TCP: +#else case NEXTHDR_TCP: +#endif tcp_print(cp, len, (const u_char *)ip); break; +#if __GLIBC__ >= 2 + case IPPROTO_UDP: +#else case NEXTHDR_UDP: +#endif udp_print(cp, len, (const u_char *)ip); break; +#if __GLIBC__ >= 2 + case IPPROTO_ICMPV6: +#else case NEXTHDR_ICMPV6: +#endif icmpv6_print(cp, len); break; +#if __GLIBC__ >= 2 + case IPPROTO_IPIP: +#else case NEXTHDR_IPV4: +#endif printf(": v4-in-v6"); ip_print(cp, len); break; +#if __GLIBC__ >= 2 + case IPPROTO_IPV6: +#else case NEXTHDR_IPV6: +#endif printf(": v6-in-v6"); ipv6_print(cp, len); break; +#if __GLIBC__ >= 2 + case IPPROTO_RSVP: +#else case IPPROTO_RSVP: +#endif printf(" RSVP "); +#ifdef RSVP_TCPDUMP ntoh_rsvp_packet(cp, len); rsvp_print_pkt(cp, len); +#endif break; case IPPROTO_PIM: printf(" PIMv2 "); diff -urN tcpdump-3.4.orig/print-ipx.c tcpdump-3.4/print-ipx.c --- tcpdump-3.4.orig/print-ipx.c Sat Jul 3 17:50:45 1999 +++ tcpdump-3.4/print-ipx.c Sat Jul 3 17:58:06 1999 @@ -34,11 +34,14 @@ #include #include #include -#include #include -#include #include -#include + +#if ! __GLIBC__ >= 2 +# include +# include +# include +#endif #ifdef __STDC__ #include diff -urN tcpdump-3.4.orig/print-krb.c tcpdump-3.4/print-krb.c --- tcpdump-3.4.orig/print-krb.c Sat Jul 3 17:50:45 1999 +++ tcpdump-3.4/print-krb.c Sat Jul 3 17:58:06 1999 @@ -33,9 +33,13 @@ #include #include #include -#include #include -#include + +#if ! __GLIBC__ >= 2 +# include +# include +# include +#endif #include #include diff -urN tcpdump-3.4.orig/print-nfs.c tcpdump-3.4/print-nfs.c --- tcpdump-3.4.orig/print-nfs.c Sat Jul 3 17:50:45 1999 +++ tcpdump-3.4/print-nfs.c Sat Jul 3 17:58:06 1999 @@ -38,7 +38,12 @@ #include #include #include -#include + +#if ! __GLIBC__ >= 2 +# include +# include +# include +#endif #include diff -urN tcpdump-3.4.orig/print-null.c tcpdump-3.4/print-null.c --- tcpdump-3.4.orig/print-null.c Sat Jul 3 17:50:45 1999 +++ tcpdump-3.4/print-null.c Sat Jul 3 17:58:06 1999 @@ -45,11 +45,14 @@ #include #include #include -#include #include -#include #include -#include + +#if ! __GLIBC__ >= 2 +# include +# include +# include +#endif #include #include diff -urN tcpdump-3.4.orig/print-ospf.c tcpdump-3.4/print-ospf.c --- tcpdump-3.4.orig/print-ospf.c Sat Jul 3 17:50:45 1999 +++ tcpdump-3.4/print-ospf.c Sat Jul 3 17:58:06 1999 @@ -33,7 +33,12 @@ #include #include #include -#include + +#if ! __GLIBC__ >= 2 +# include +# include +# include +#endif #include #include diff -urN tcpdump-3.4.orig/print-pim.c tcpdump-3.4/print-pim.c --- tcpdump-3.4.orig/print-pim.c Sat Jul 3 17:50:45 1999 +++ tcpdump-3.4/print-pim.c Sat Jul 3 18:49:27 1999 @@ -31,11 +31,14 @@ #include #include #include -#include #include -#include #include -#include + +#if ! __GLIBC__ >= 2 +# include +# include +# include +#endif #include #include @@ -43,6 +46,10 @@ #include "interface.h" #include "addrtoname.h" + +#define __u32 u_int32_t +#define __u16 u_int16_t +#define __u8 u_int8_t void pim_print(register const u_char *bp, register u_int len) diff -urN tcpdump-3.4.orig/print-raw.c tcpdump-3.4/print-raw.c --- tcpdump-3.4.orig/print-raw.c Sat Jul 3 17:50:45 1999 +++ tcpdump-3.4/print-raw.c Sat Jul 3 17:58:06 1999 @@ -40,11 +40,14 @@ #include #include #include -#include #include -#include #include -#include + +#if ! __GLIBC__ >= 2 +# include +# include +# include +#endif #include #include diff -urN tcpdump-3.4.orig/print-rip.c tcpdump-3.4/print-rip.c --- tcpdump-3.4.orig/print-rip.c Sat Jul 3 17:50:45 1999 +++ tcpdump-3.4/print-rip.c Sat Jul 3 17:58:06 1999 @@ -31,9 +31,13 @@ #include #include #include -#include #include -#include + +#if ! __GLIBC__ >= 2 +# include +# include +# include +#endif #include diff -urN tcpdump-3.4.orig/print-sl.c tcpdump-3.4/print-sl.c --- tcpdump-3.4.orig/print-sl.c Sat Jul 3 17:50:45 1999 +++ tcpdump-3.4/print-sl.c Sat Jul 3 17:58:06 1999 @@ -35,7 +35,7 @@ #include #include #include -#include +#include "./sys/mbuf.h" #include #if __STDC__ @@ -47,14 +47,17 @@ #include #include #include -#include #include -#include #include -#include -#include -#include +#if ! __GLIBC__ >= 2 +# include +# include +# include +#endif + +#include "./net/slcompress.h" +#include "./net/slip.h" #include #include diff -urN tcpdump-3.4.orig/print-sunrpc.c tcpdump-3.4/print-sunrpc.c --- tcpdump-3.4.orig/print-sunrpc.c Sat Jul 3 17:50:45 1999 +++ tcpdump-3.4/print-sunrpc.c Sat Jul 3 17:58:06 1999 @@ -43,7 +43,12 @@ #include #include #include -#include + +#if ! __GLIBC__ >= 2 +# include +# include +# include +#endif #include #ifdef HAVE_RPC_RPCENT_H diff -urN tcpdump-3.4.orig/print-tcp.c tcpdump-3.4/print-tcp.c --- tcpdump-3.4.orig/print-tcp.c Sat Jul 3 17:50:45 1999 +++ tcpdump-3.4/print-tcp.c Sat Jul 3 17:58:06 1999 @@ -32,20 +32,31 @@ #include #include +#if ! __GLIBC__ >= 2 +# include +# include +# include +#else +# define __FAVOR_BSD +#endif + #include #include #include -#include #include -#include #ifdef HAVE_MEMORY_H #include #endif #include + #ifdef INET6 -#include -#include +# if __GLIBC__ >= 2 +# include +# else +# include +# include +# endif #endif /* INET6 */ #include diff -urN tcpdump-3.4.orig/print-tr.c tcpdump-3.4/print-tr.c --- tcpdump-3.4.orig/print-tr.c Sat Jul 3 17:50:45 1999 +++ tcpdump-3.4/print-tr.c Sat Jul 3 17:58:06 1999 @@ -33,16 +33,20 @@ #endif #include +#include #include #include #include /* just to get ETHERMTU */ #include #include -#include #include -#include #include -#include + +#if ! __GLIBC__ >= 2 +# include +# include +# include +#endif #include #include diff -urN tcpdump-3.4.orig/print-udp.c tcpdump-3.4/print-udp.c --- tcpdump-3.4.orig/print-udp.c Sat Jul 3 17:50:45 1999 +++ tcpdump-3.4/print-udp.c Sat Jul 3 17:58:06 1999 @@ -33,15 +33,26 @@ #include #include +#if ! __GLIBC__ >= 2 +# include +# include +# include +#else +# define __FAVOR_BSD +#endif + #include #include #include -#include #include -#include + #ifdef INET6 -#include -#include +# if __GLIBC__ >= 2 +# include +# else +# include +# include +# endif #endif #ifdef NOERROR diff -urN tcpdump-3.4.orig/tcpdump.c tcpdump-3.4/tcpdump.c --- tcpdump-3.4.orig/tcpdump.c Sat Jul 3 17:50:45 1999 +++ tcpdump-3.4/tcpdump.c Sat Jul 3 17:58:06 1999 @@ -104,8 +104,8 @@ static struct printer printers[] = { { ether_if_print, DLT_EN10MB }, { tr_if_print, DLT_IEEE802 }, - { sl_if_print, DLT_SLIP }, - { sl_bsdos_if_print, DLT_SLIP_BSDOS }, +/* { sl_if_print, DLT_SLIP }, */ +/* { sl_bsdos_if_print, DLT_SLIP_BSDOS }, */ { ppp_if_print, DLT_PPP }, { ppp_bsdos_if_print, DLT_PPP_BSDOS }, { fddi_if_print, DLT_FDDI }, diff -urN tcpdump-3.4.orig/xxx tcpdump-3.4/xxx --- tcpdump-3.4.orig/xxx Thu Jan 1 01:00:00 1970 +++ tcpdump-3.4/xxx Sat Jul 3 17:58:06 1999 @@ -0,0 +1,6 @@ +#if ! __GLIBC__ >= 2 +# include +# include +# include +#endif +