]> The Tcpdump Group git mirrors - tcpdump/commitdiff
update changes file
authormcr <mcr>
Tue, 30 Mar 2004 14:42:38 +0000 (14:42 +0000)
committermcr <mcr>
Tue, 30 Mar 2004 14:42:38 +0000 (14:42 +0000)
CHANGES
Makefile.in
VERSION
interface.h
print-ether.c
tcpdump.c

diff --git a/CHANGES b/CHANGES
index 41861ef0d3887ad213d1c98139923a39e0b2156e..86f87eb066c1819a11bc7c37b6f972d0bfa9215f 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,4 +1,9 @@
-$Header: /tcpdump/master/tcpdump/CHANGES,v 1.86 2004-03-29 17:29:41 mcr Exp $
+$Header: /tcpdump/master/tcpdump/CHANGES,v 1.87 2004-03-30 14:42:38 mcr Exp $
+
+Tue.   March 30, 2004. [email protected]. Summary for 3.8.3 release
+
+       No changes from 3.8.2. Version bumped only to maintain consistency
+       with libpcap 0.8.3.
 
 Mon.   March 29, 2004. [email protected]. Summary for 3.8.2 release
 
index 8fb9f26b47759280ea1d46a8cfdd61b59a09b3cb..cd5571996972ec3afd928bcd21217c7b81462a4c 100644 (file)
@@ -17,7 +17,7 @@
 #  WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
 #  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
 #
-# @(#) $Header: /tcpdump/master/tcpdump/Makefile.in,v 1.282 2004-03-28 20:33:27 fenner Exp $ (LBL)
+# @(#) $Header: /tcpdump/master/tcpdump/Makefile.in,v 1.283 2004-03-30 14:42:39 mcr Exp $ (LBL)
 
 #
 # Various configurable paths (remember to edit Makefile.in, not Makefile)
@@ -71,6 +71,7 @@ CSRC =        addrtoname.c gmpls.c oui.c gmt2local.c machdep.c parsenfsfh.c \
        print-beep.c print-bfd.c print-bgp.c print-bootp.c print-cdp.c \
        print-chdlc.c print-cip.c print-cnfp.c print-decnet.c \
        print-domain.c print-dvmrp.c print-enc.c print-egp.c \
+       print-eap.c \
        print-esp.c print-ether.c print-fddi.c print-fr.c \
        print-gre.c print-hsrp.c print-icmp.c print-igmp.c \
        print-igrp.c print-ip.c print-ipcomp.c print-ipfc.c \
diff --git a/VERSION b/VERSION
index cc1923a40b1a5e8c7fbdb8f9f6c6bbe26c35604b..f44a48622b94d0c0b7ac43e1e2d86501b2ae85d4 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-3.8
+4.0-PRE-CVS
index e91c593b8f2ebf6bf61c51d6f09e51427247e38d..ca3e69b5f9e2beea16a0620acabeac88234d7a3e 100644 (file)
@@ -18,7 +18,7 @@
  * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  *
- * @(#) $Header: /tcpdump/master/tcpdump/interface.h,v 1.225 2004-03-23 07:15:36 guy Exp $ (LBL)
+ * @(#) $Header: /tcpdump/master/tcpdump/interface.h,v 1.226 2004-03-30 14:42:40 mcr Exp $ (LBL)
  */
 
 #ifndef tcpdump_interface_h
@@ -61,31 +61,6 @@ extern char *strdup(const char *);
 extern char *strsep(char **, const char *);
 #endif
 
-struct tok {
-       int v;                  /* value */
-       const char *s;          /* string */
-};
-
-extern int aflag;              /* translate network and broadcast addresses */
-extern int dflag;              /* print filter code */
-extern int eflag;              /* print ethernet header */
-extern int fflag;              /* don't translate "foreign" IP address */
-extern int nflag;              /* leave addresses as numbers */
-extern int Nflag;              /* remove domains from printed host names */
-extern int qflag;              /* quick (shorter) output */
-extern int Rflag;              /* print sequence # field in AH/ESP*/
-extern int sflag;              /* use the libsmi to translate OIDs */
-extern int Sflag;              /* print raw TCP sequence numbers */
-extern int tflag;              /* print packet arrival time */
-extern int uflag;              /* Print undecoded NFS handles */
-extern int vflag;              /* verbose */
-extern int xflag;              /* print packet in hex */
-extern int Xflag;              /* print packet in hex/ascii */
-extern int Aflag;              /* print packet only in ascii observing TAB, LF, CR and SPACE as graphical chars */
-extern char *espsecret;
-extern char *tcpmd5secret;
-
-extern int packettype;         /* as specified by -T */
 #define PT_VAT         1       /* Visual Audio Tool */
 #define PT_WB          2       /* distributed White Board */
 #define PT_RPC         3       /* Remote Procedure Call */
@@ -162,9 +137,7 @@ extern void relts_print(int);
 
 extern int fn_print(const u_char *, const u_char *);
 extern int fn_printn(const u_char *, u_int, const u_char *);
-extern const char *tok2str(const struct tok *, const char *, int);
 extern int mask2plen(u_int32_t);
-extern char *bittok2str(const struct tok *, const char *, int);
 extern const char *tok2strary_internal(const char **, int, const char *, int);
 #define        tok2strary(a,f,i) tok2strary_internal(a, sizeof(a)/sizeof(a[0]),f,i)
 
@@ -329,4 +302,37 @@ extern u_int16_t in_cksum_shouldbe(u_int16_t, u_int16_t);
 struct bpf_program;
 
 extern void bpf_dump(struct bpf_program *, int);
+
 #endif
+
+#include "netdissect.h"
+
+/* forward compatibility */
+
+netdissect_options *gndo;
+
+#define dflag gndo->ndo_dflag
+#define eflag gndo->ndo_eflag 
+#define fflag gndo->ndo_fflag 
+#define nflag gndo->ndo_nflag 
+#define Nflag gndo->ndo_Nflag 
+#define Oflag gndo->ndo_Oflag 
+#define pflag gndo->ndo_pflag 
+#define qflag gndo->ndo_qflag 
+#define Rflag gndo->ndo_Rflag 
+#define sflag gndo->ndo_sflag 
+#define Sflag gndo->ndo_Sflag 
+#define tflag gndo->ndo_tflag 
+#define Uflag gndo->ndo_Uflag 
+#define uflag gndo->ndo_uflag 
+#define vflag gndo->ndo_vflag 
+#define xflag gndo->ndo_xflag 
+#define Xflag gndo->ndo_Xflag 
+#define Cflag gndo->ndo_Cflag 
+#define Aflag gndo->ndo_Aflag 
+#define packettype gndo->ndo_packettype
+#define espsecret  gndo->ndo_espsecret
+#define tcpmd5secret gndo->ndo_tcpmd5secret
+#define Wflag gndo->ndo_Wflag
+#define WflagChars gndo->ndo_WflagChars
+#define Cflag_count gndo->ndo_Cflag_count
index cbfefce027ebf1bc28bc9023f7b812aee810ecc3..6474f059bf0e609519e2cb7b62bac2d03a203ce1 100644 (file)
@@ -20,7 +20,7 @@
  */
 #ifndef lint
 static const char rcsid[] _U_ =
-    "@(#) $Header: /tcpdump/master/tcpdump/print-ether.c,v 1.89 2004-03-17 23:24:36 guy Exp $ (LBL)";
+    "@(#) $Header: /tcpdump/master/tcpdump/print-ether.c,v 1.90 2004-03-30 14:42:40 mcr Exp $ (LBL)";
 #endif
 
 #ifdef HAVE_CONFIG_H
@@ -69,6 +69,7 @@ const struct tok ethertype_values[] = {
     { ETHERTYPE_PPP,            "PPP" },
     { ETHERTYPE_PPPOED,         "PPPoE D" },
     { ETHERTYPE_PPPOES,         "PPPoE S" },
+    { ETHERTYPE_EAPOL,          "EAPOL" },
     { ETHERTYPE_JUMBO,          "Jumbo" },
     { ETHERTYPE_LOOPBACK,       "Loopback" },
     { ETHERTYPE_ISO,            "OSI" },
@@ -284,6 +285,10 @@ ether_encap_print(u_short ether_type, const u_char *p,
                pppoe_print(p, length);
                return (1);
 
+       case ETHERTYPE_EAPOL:
+               eap_print(gndo, p, length);
+               return (1);
+
        case ETHERTYPE_PPP:
                if (length) {
                        printf(": ");
index 2e1b533d318a42536087c9666407f5d5335b7874..2fe89cd4df8a95c30c096ef16a8ea47e64789f26 100644 (file)
--- a/tcpdump.c
+++ b/tcpdump.c
@@ -30,7 +30,7 @@ static const char copyright[] _U_ =
     "@(#) Copyright (c) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 2000\n\
 The Regents of the University of California.  All rights reserved.\n";
 static const char rcsid[] _U_ =
-    "@(#) $Header: /tcpdump/master/tcpdump/tcpdump.c,v 1.238 2004-03-23 18:57:33 fenner Exp $ (LBL)";
+    "@(#) $Header: /tcpdump/master/tcpdump/tcpdump.c,v 1.239 2004-03-30 14:42:40 mcr Exp $ (LBL)";
 #endif
 
 /*
@@ -70,6 +70,7 @@ extern int SIZE_BUF;
 #include <grp.h>
 #endif /* WIN32 */
 
+#include "netdissect.h"
 #include "interface.h"
 #include "addrtoname.h"
 #include "machdep.h"
@@ -77,30 +78,8 @@ extern int SIZE_BUF;
 #include "gmt2local.h"
 #include "pcap-missing.h"
 
-int dflag;                     /* print filter code */
-int eflag;                     /* print ethernet header */
-int fflag;                     /* don't translate "foreign" IP address */
-static int Lflag;              /* list available data link types and exit */
-int nflag;                     /* leave addresses as numbers */
-int Nflag;                     /* remove domains from printed host names */
-static int Oflag = 1;          /* run filter code optimizer */
-static int pflag;              /* don't go promiscuous */
-int qflag;                     /* quick (shorter) output */
-int Rflag = 1;                 /* print sequence # field in AH/ESP*/
-int sflag = 0;                 /* use the libsmi to translate OIDs */
-int Sflag;                     /* print raw TCP sequence numbers */
-int tflag = 1;                 /* print packet arrival time */
-int Uflag = 0;                 /* "unbuffered" output of dump files */
-int uflag = 0;                 /* Print undecoded NFS handles */
-int vflag;                     /* verbose */
-int xflag;                     /* print packet in hex */
-int Xflag;                     /* print packet in ascii as well as hex */
-static off_t Cflag = 0;                /* rotate dump files after this many bytes */
-int Aflag = 0;                  /* print packet only in ascii observing LF, CR, TAB, SPACE */
-static int dlt = -1;           /* if != -1, ask libpcap for the DLT it names */
-static int Cflag_count = 0;    /* Keep track of which file number we're writing */
-static int Wflag = 0;          /* recycle output files after this number of files */
-static int WflagChars = 0;
+netdissect_options Gndo;
+netdissect_options *gndo = &Gndo;
 
 /*
  * Define the maximum number of files for the -C flag, and how many
@@ -110,12 +89,7 @@ static int WflagChars = 0;
 #define MAX_CFLAG      1000000
 #define MAX_CFLAG_CHARS        6
 
-const char *dlt_name = NULL;
-
-char *espsecret = NULL;                /* ESP secret key */
-char *tcpmd5secret = NULL;     /* TCP-MD5 secret key */
-
-int packettype;
+int Lflag;          /* list available data link types and exit */
 
 static int infodelay;
 static int infoprint;
@@ -397,6 +371,20 @@ MakeFilename(char *buffer, char *orig_name, int cnt, int max_chars)
                sprintf(buffer, "%s%0*d", orig_name, max_chars, cnt);
 }
 
+static int tcpdump_printf(netdissect_options *ndo _U_,
+                         const char *fmt, ...)
+{
+  
+  va_list args;
+  int ret;
+
+  va_start(args, fmt);
+  ret=vfprintf(stdout, fmt, args);
+  va_end(args);
+
+  return ret;
+};
+
 int
 main(int argc, char **argv)
 {
@@ -425,6 +413,12 @@ main(int argc, char **argv)
        if(wsockinit() != 0) return 1;
 #endif /* WIN32 */
 
+        gndo->ndo_Oflag=1;
+       gndo->ndo_Rflag=1;
+       gndo->ndo_tflag=1;
+       gndo->ndo_dlt=-1;
+       gndo->ndo_printf=tcpdump_printf;
+  
        cnt = -1;
        device = NULL;
        infile = NULL;
@@ -703,10 +697,11 @@ main(int argc, char **argv)
                        break;
 
                case 'y':
-                       dlt_name = optarg;
-                       dlt = pcap_datalink_name_to_val(dlt_name);
-                       if (dlt < 0)
-                               error("invalid data link type %s", dlt_name);
+                       gndo->ndo_dltname = optarg;
+                       gndo->ndo_dlt =
+                         pcap_datalink_name_to_val(gndo->ndo_dltname);
+                       if (gndo->ndo_dlt < 0)
+                               error("invalid data link type %s", gndo->ndo_dltname);
                        break;
 
 #if defined(HAVE_PCAP_DEBUG) || defined(HAVE_YYDEBUG)
@@ -836,9 +831,9 @@ main(int argc, char **argv)
 #endif /* WIN32 */
                if (Lflag)
                        show_dlts_and_exit(pd);
-               if (dlt >= 0) {
+               if (gndo->ndo_dlt >= 0) {
 #ifdef HAVE_PCAP_SET_DATALINK
-                       if (pcap_set_datalink(pd, dlt) < 0)
+                       if (pcap_set_datalink(pd, gndo->ndo_dlt) < 0)
                                error("%s", pcap_geterr(pd));
 #else
                        /*
@@ -846,13 +841,13 @@ main(int argc, char **argv)
                         * data link type, so we only let them
                         * set it to what it already is.
                         */
-                       if (dlt != pcap_datalink(pd)) {
+                       if (gndo->ndo_dlt != pcap_datalink(pd)) {
                                error("%s is not one of the DLTs supported by this device\n",
-                                   dlt_name);
+                                     gndo->ndo_dltname);
                        }
 #endif
                        (void)fprintf(stderr, "%s: data link type %s\n",
-                                     program_name, dlt_name);
+                                     program_name, gndo->ndo_dltname);
                        (void)fflush(stderr);
                }
                i = pcap_snapshot(pd);
@@ -917,9 +912,10 @@ main(int argc, char **argv)
                type = pcap_datalink(pd);
                printinfo.printer = lookup_printer(type);
                if (printinfo.printer == NULL) {
-                       dlt_name = pcap_datalink_val_to_name(type);
-                       if (dlt_name != NULL)
-                               error("unsupported data link type %s", dlt_name);
+                       gndo->ndo_dltname = pcap_datalink_val_to_name(type);
+                       if (gndo->ndo_dltname != NULL)
+                               error("unsupported data link type %s",
+                                     gndo->ndo_dltname);
                        else
                                error("unsupported data link type %d", type);
                }