]> git.pld-linux.org Git - packages/tcpdump.git/commitdiff
tcpdump patches
authorArkadiusz Miśkiewicz <arekm@maven.pl>
Sat, 3 Jul 1999 17:08:35 +0000 (17:08 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    tcpdump-glibc2.1.patch -> 1.1

tcpdump-glibc2.1.patch [new file with mode: 0644]

diff --git a/tcpdump-glibc2.1.patch b/tcpdump-glibc2.1.patch
new file mode 100644 (file)
index 0000000..a04ed02
--- /dev/null
@@ -0,0 +1,1153 @@
+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 <stdlib.h>
+ #include <unistd.h>
+-#ifdef INET6
++#if defined(INET6) && __GLIBC__ < 2
+ #include <netinet6/in6.h>
+ #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 <netinet/in.h>
+ #include <netinet/in_systm.h>
+ #include <netinet/ip.h>
+-#include <netinet/ip_var.h>
+ #include <netinet/if_ether.h>
+ #include <netinet/udp.h>
+-#include <netinet/udp_var.h>
+ #include <netinet/tcp.h>
+-#include <netinet/tcpip.h>
++
++#if ! __GLIBC__ >= 2
++# include <netinet/ip_var.h>
++# include <netinet/udp_var.h>
++# include <netinet/tcpip.h>
++#endif
+ #include <stdio.h>
+ #include <stdlib.h>
+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 <netinet/if_ether.h>
+ #include <netinet/in_systm.h>
+ #include <netinet/ip.h>
+-#include <netinet/ip_var.h>
+ #include <netinet/udp.h>
+-#include <netinet/udp_var.h>
+ #include <netinet/tcp.h>
+-#include <netinet/tcpip.h>
++
++#if ! __GLIBC__ >= 2
++# include <netinet/ip_var.h>
++# include <netinet/udp_var.h>
++# include <netinet/tcpip.h>
++#endif
+ #include <stdio.h>
+ #include <pcap.h>
+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 <netinet/in.h>
+ #include <netinet/in_systm.h>
+ #include <netinet/ip.h>
+-#include <netinet/ip_var.h>
++
++#if ! __GLIBC__ >= 2
++# include <netinet/ip_var.h>
++#endif
+ #include <stdio.h>
+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 <netinet/if_ether.h>
+ #include <netinet/in_systm.h>
+ #include <netinet/ip.h>
+-#include <netinet/ip_var.h>
+ #include <netinet/udp.h>
+-#include <netinet/udp_var.h>
+ #include <netinet/tcp.h>
+-#include <netinet/tcpip.h>
++
++#if ! __GLIBC__ >= 2
++# include <netinet/ip_var.h>
++# include <netinet/udp_var.h>
++# include <netinet/tcpip.h>
++#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 <netinet/in.h>
+ #include <netinet/in_systm.h>
+ #include <netinet/ip.h>
+-#include <netinet/ip_var.h>
+ #include <netinet/udp.h>
+-#include <netinet/udp_var.h>
+ #include <netinet/tcp.h>
+-#include <netinet/tcpip.h>
++
++#if ! __GLIBC__ >= 2
++# include <netinet/ip_var.h>
++# include <netinet/udp_var.h>
++# include <netinet/tcpip.h>
++#endif
+ #include <stdio.h>
+ #include <string.h>
+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 <netinet/if_ether.h>
+ #include <netinet/in_systm.h>
+ #include <netinet/ip.h>
+-#include <netinet/ip_var.h>
+ #include <netinet/udp.h>
+-#include <netinet/udp_var.h>
+ #include <netinet/tcp.h>
+-#include <netinet/tcpip.h>
++
++#if ! __GLIBC__ >= 2
++# include <netinet/ip_var.h>
++# include <netinet/udp_var.h>
++# include <netinet/tcpip.h>
++#endif
+ #if defined(__GLIBC__) && __GLIBC__ >= 2
+ #include <linux/sockios.h>
+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 <net/if.h>
++#if ! __GLIBC__ >= 2
++# include <netinet/ip_var.h>
++# include <netinet/udp_var.h>
++# include <netinet/tcpip.h>
++#else
++# define __FAVOR_BSD
++#endif
++
+ #include <netinet/in.h>
+ #include <netinet/if_ether.h>
+ #include <netinet/in_systm.h>
+ #include <netinet/ip.h>
+ #include <netinet/ip_icmp.h>
+-#include <netinet/ip_var.h>
+ #include <netinet/udp.h>
+-#include <netinet/udp_var.h>
+ #include <netinet/tcp.h>
+-#include <netinet/tcpip.h>
+ #include <stdio.h>
+ #include <string.h>
+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 <sys/types.h>
+ #include <sys/socket.h>
+-#include <net/if.h>
+-
+ #include <netinet/in.h>
+-#include <netinet/if_ether.h>
+ #include <netinet/in_systm.h>
+ #include <netinet/ip.h>
+-#include <netinet/ip_icmp.h>
+-#include <netinet/ip_var.h>
+ #include <netinet/udp.h>
+-#include <netinet/udp_var.h>
+ #include <netinet/tcp.h>
+-#include <netinet/tcpip.h>
+-
+-#include <netinet6/ipv6.h>
+-#include <netinet6/in6.h>
+-#include <netinet6/ipv6_var.h>
+-#include <netinet6/ipv6_icmp.h>
+-#include <stdio.h>
+-#include <string.h>
++#if ! __GLIBC__ >= 2
++# include <netinet/ip_var.h>
++# include <netinet/udp_var.h>
++# include <netinet/tcpip.h>
++#endif
++
++#include <netdb.h>
++
++#if __GLIBC__ >= 2
++# include <netinet/ip6.h>
++# include <netinet/icmp6.h>
++# include <netinet/ip_icmp.h>
++#else
++# include <netinet6/in6.h>
++# include <netinet6/ipv6.h>
++#endif
++#include <stdio.h>
++#ifdef __STDC__
++#include <stdlib.h>
++#endif
++#include <unistd.h>
++    
+ #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 <netinet/in.h>
+ #include <netinet/in_systm.h>
+ #include <netinet/ip.h>
+-#include <netinet/ip_var.h>
+ #include <netinet/udp.h>
+-#include <netinet/udp_var.h>
++
++#if ! __GLIBC__ >= 2
++# include <netinet/ip_var.h>
++# include <netinet/udp_var.h>
++# include <netinet/tcpip.h>
++#endif
+ #include <errno.h>
+ #include <stdio.h>
+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 <netinet/in.h>
+ #include <netinet/in_systm.h>
+ #include <netinet/ip.h>
+-#include <netinet/ip_var.h>
+ #include <netinet/udp.h>
+-#include <netinet/udp_var.h>
+ #include <netinet/tcp.h>
+-#include <netinet/tcpip.h>
++
++#if ! __GLIBC__ >= 2
++# include <netinet/ip_var.h>
++# include <netinet/udp_var.h>
++# include <netinet/tcpip.h>
++#endif
+ #ifdef HAVE_MALLOC_H
+ #include <malloc.h>
+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 <netinet/in.h>
+ #include <netinet/in_systm.h>
+ #include <netinet/ip.h>
+-#include <netinet/ip_var.h>
+ #include <netinet/udp.h>
+-#include <netinet/udp_var.h>
+ #include <netinet/tcp.h>
+-#include <netinet/tcpip.h>
++
++#if ! __GLIBC__ >= 2
++# include <netinet/ip_var.h>
++# include <netinet/udp_var.h>
++# include <netinet/tcpip.h>
++#endif
+ #include <netdb.h>
+-#include <netinet6/in6.h>
+-#include <netinet6/ipv6.h>
++#if __GLIBC__ >= 2
++# include <netinet/ip6.h>
++#else
++# include <netinet6/in6.h>
++# include <netinet6/ipv6.h>
++#endif
+ #include <stdio.h>
+ #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(" <len %d is wrong>", 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<<i)&*(__u32*)&ip->i6sr_reserved)
++                      if (htonl(1<<i)&*(u_int32_t*)&ip->i6sr_reserved)
+                               printf("!");
+                       printf("%s ", ipv6addr_string(a));
+                       a++;
+@@ -224,7 +246,7 @@
+                       n--;
+               }
+               if (i>0) {
+-                      if (htonl(1<<i)&*(__u32*)&ip->i6sr_reserved)
++                      if (htonl(1<<i)&*(u_int32_t*)&ip->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 <netinet/in.h>
+ #include <netinet/in_systm.h>
+ #include <netinet/ip.h>
+-#include <netinet/ip_var.h>
+ #include <netinet/udp.h>
+-#include <netinet/udp_var.h>
+ #include <netinet/tcp.h>
+-#include <netinet/tcpip.h>
++
++#if ! __GLIBC__ >= 2
++# include <netinet/ip_var.h>
++# include <netinet/udp_var.h>
++# include <netinet/tcpip.h>
++#endif
+ #ifdef __STDC__
+ #include <stdlib.h>
+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 <netinet/in.h>
+ #include <netinet/in_systm.h>
+ #include <netinet/ip.h>
+-#include <netinet/ip_var.h>
+ #include <netinet/udp.h>
+-#include <netinet/udp_var.h>
++
++#if ! __GLIBC__ >= 2
++# include <netinet/ip_var.h>
++# include <netinet/udp_var.h>
++# include <netinet/tcpip.h>
++#endif
+ #include <ctype.h>
+ #include <errno.h>
+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 <netinet/if_ether.h>
+ #include <netinet/in_systm.h>
+ #include <netinet/ip.h>
+-#include <netinet/ip_var.h>
++
++#if ! __GLIBC__ >= 2
++# include <netinet/ip_var.h>
++# include <netinet/udp_var.h>
++# include <netinet/tcpip.h>
++#endif
+ #include <rpc/rpc.h>
+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 <netinet/in_systm.h>
+ #include <netinet/ip.h>
+ #include <netinet/if_ether.h>
+-#include <netinet/ip_var.h>
+ #include <netinet/udp.h>
+-#include <netinet/udp_var.h>
+ #include <netinet/tcp.h>
+-#include <netinet/tcpip.h>
++
++#if ! __GLIBC__ >= 2
++# include <netinet/ip_var.h>
++# include <netinet/udp_var.h>
++# include <netinet/tcpip.h>
++#endif
+ #include <pcap.h>
+ #include <stdio.h>
+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 <netinet/in.h>
+ #include <netinet/in_systm.h>
+ #include <netinet/ip.h>
+-#include <netinet/ip_var.h>
++
++#if ! __GLIBC__ >= 2
++# include <netinet/ip_var.h>
++# include <netinet/udp_var.h>
++# include <netinet/tcpip.h>
++#endif
+ #include <ctype.h>
+ #include <stdio.h>
+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 <netinet/in.h>
+ #include <netinet/in_systm.h>
+ #include <netinet/ip.h>
+-#include <netinet/ip_var.h>
+ #include <netinet/udp.h>
+-#include <netinet/udp_var.h>
+ #include <netinet/tcp.h>
+-#include <netinet/tcpip.h>
++
++#if ! __GLIBC__ >= 2
++# include <netinet/ip_var.h>
++# include <netinet/udp_var.h>
++# include <netinet/tcpip.h>
++#endif
+ #include <stdio.h>
+ #include <stdlib.h>
+@@ -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 <netinet/in_systm.h>
+ #include <netinet/ip.h>
+ #include <netinet/if_ether.h>
+-#include <netinet/ip_var.h>
+ #include <netinet/udp.h>
+-#include <netinet/udp_var.h>
+ #include <netinet/tcp.h>
+-#include <netinet/tcpip.h>
++
++#if ! __GLIBC__ >= 2
++# include <netinet/ip_var.h>
++# include <netinet/udp_var.h>
++# include <netinet/tcpip.h>
++#endif
+ #include <pcap.h>
+ #include <stdio.h>
+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 <netinet/in.h>
+ #include <netinet/in_systm.h>
+ #include <netinet/ip.h>
+-#include <netinet/ip_var.h>
+ #include <netinet/udp.h>
+-#include <netinet/udp_var.h>
++
++#if ! __GLIBC__ >= 2
++# include <netinet/ip_var.h>
++# include <netinet/udp_var.h>
++# include <netinet/tcpip.h>
++#endif
+ #include <stdio.h>
+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 <sys/timeb.h>
+ #include <sys/file.h>
+ #include <sys/ioctl.h>
+-#include <sys/mbuf.h>
++#include "./sys/mbuf.h"
+ #include <sys/socket.h>
+ #if __STDC__
+@@ -47,14 +47,17 @@
+ #include <netinet/in_systm.h>
+ #include <netinet/ip.h>
+ #include <netinet/if_ether.h>
+-#include <netinet/ip_var.h>
+ #include <netinet/udp.h>
+-#include <netinet/udp_var.h>
+ #include <netinet/tcp.h>
+-#include <netinet/tcpip.h>
+-#include <net/slcompress.h>
+-#include <net/slip.h>
++#if ! __GLIBC__ >= 2
++# include <netinet/ip_var.h>
++# include <netinet/udp_var.h>
++# include <netinet/tcpip.h>
++#endif
++
++#include "./net/slcompress.h"
++#include "./net/slip.h"
+ #include <ctype.h>
+ #include <netdb.h>
+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 <netinet/if_ether.h>
+ #include <netinet/in_systm.h>
+ #include <netinet/ip.h>
+-#include <netinet/ip_var.h>
++
++#if ! __GLIBC__ >= 2
++# include <netinet/ip_var.h>
++# include <netinet/udp_var.h>
++# include <netinet/tcpip.h>
++#endif
+ #include <rpc/rpc.h>
+ #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 <sys/param.h>
+ #include <sys/time.h>
++#if ! __GLIBC__ >= 2
++# include <netinet/ip_var.h>
++# include <netinet/udp_var.h>
++# include <netinet/tcpip.h>
++#else
++# define __FAVOR_BSD
++#endif
++
+ #include <netinet/in.h>
+ #include <netinet/in_systm.h>
+ #include <netinet/ip.h>
+-#include <netinet/ip_var.h>
+ #include <netinet/tcp.h>
+-#include <netinet/tcpip.h>
+ #ifdef HAVE_MEMORY_H
+ #include <memory.h>
+ #endif
+ #include <stdio.h>
++
+ #ifdef INET6
+-#include <netinet6/in6.h>
+-#include <netinet6/ipv6.h>
++# if __GLIBC__ >= 2
++#  include <netinet/ip6.h>
++# else
++#  include <netinet6/in6.h>
++#  include <netinet6/ipv6.h>
++# endif
+ #endif /* INET6 */
+ #include <stdlib.h>
+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 <net/if.h>
++#include <asm/types.h>
+ #include <netinet/in.h>
+ #include <netinet/if_tr.h>
+ #include <netinet/if_ether.h> /* just to get ETHERMTU */
+ #include <netinet/in_systm.h>
+ #include <netinet/ip.h>
+-#include <netinet/ip_var.h>
+ #include <netinet/udp.h>
+-#include <netinet/udp_var.h>
+ #include <netinet/tcp.h>
+-#include <netinet/tcpip.h>
++
++#if ! __GLIBC__ >= 2
++# include <netinet/ip_var.h>
++# include <netinet/udp_var.h>
++# include <netinet/tcpip.h>
++#endif
+ #include <stdio.h>
+ #include <pcap.h>
+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 <sys/time.h>
+ #include <sys/socket.h>
++#if ! __GLIBC__ >= 2
++# include <netinet/ip_var.h>
++# include <netinet/udp_var.h>
++# include <netinet/tcpip.h>
++#else
++# define __FAVOR_BSD
++#endif
++
+ #include <netinet/in.h>
+ #include <netinet/in_systm.h>
+ #include <netinet/ip.h>
+-#include <netinet/ip_var.h>
+ #include <netinet/udp.h>
+-#include <netinet/udp_var.h>
++
+ #ifdef INET6
+-#include <netinet6/in6.h>
+-#include <netinet6/ipv6.h>
++# if __GLIBC__ >= 2
++#  include <netinet/ip6.h>
++# else
++#  include <netinet6/in6.h>
++#  include <netinet6/ipv6.h>
++# 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 <netinet/ip_var.h>
++# include <netinet/udp_var.h>
++# include <netinet/tcpip.h>
++#endif
++
This page took 0.063139 seconds and 4 git commands to generate.