Have "wtap_read()" set "wth->phdr.pkt_encap" to "wth->file_encap",
authorguy <guy@f5534014-38df-0310-8fa8-9805f1628bb7>
Wed, 3 Mar 2004 22:24:53 +0000 (22:24 +0000)
committerguy <guy@f5534014-38df-0310-8fa8-9805f1628bb7>
Wed, 3 Mar 2004 22:24:53 +0000 (22:24 +0000)
rather than requiring individual capture file type handlers to do it
(unless they're doing per-packet encapsulation, in which case we check
to make sure they didn't *leave* it as WTAP_ENCAP_PER_PACKET).

git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@10290 f5534014-38df-0310-8fa8-9805f1628bb7

18 files changed:
wiretap/5views.c
wiretap/airopeek9.c
wiretap/ascend.c
wiretap/cosine.c
wiretap/csids.c
wiretap/dbs-etherwatch.c
wiretap/etherpeek.c
wiretap/eyesdn.c
wiretap/hcidump.c
wiretap/lanalyzer.c
wiretap/libpcap.c
wiretap/netmon.c
wiretap/netxray.c
wiretap/radcom.c
wiretap/snoop.c
wiretap/visual.c
wiretap/vms.c
wiretap/wtap.c

index 23f63445f5a76da969965d007c0da0771b3a8e8d..43b533c7e6fb5d892711cf7d4d24805d0ddc99c4 100644 (file)
@@ -1,6 +1,6 @@
 /* 5views.c
  *
- * $Id: 5views.c,v 1.4 2004/01/25 21:55:11 guy Exp $
+ * $Id: 5views.c,v 1.5 2004/03/03 22:24:50 guy Exp $
  *
  * Wiretap Library
  * Copyright (c) 1998 by Gilbert Ramirez <gram@alumni.rice.edu>
@@ -254,7 +254,6 @@ _5views_read(wtap *wth, int *err, gchar **err_info _U_, long *data_offset)
        wth->phdr.ts.tv_usec = TimeStamped_Header.NanoSecondes/1000;
        wth->phdr.caplen = packet_size;
        wth->phdr.len = orig_size;
-       wth->phdr.pkt_encap = wth->file_encap;
 
        switch (wth->file_encap) {
 
index 68d5368d21587eda059c17d629bf083137ee5952..7d8be7563dad928a30acd25d1685960729e9fa03 100644 (file)
@@ -1,7 +1,7 @@
 /* airopeek9.c
  * Routines for opening EtherPeek and AiroPeek V9 files
  *
- * $Id: airopeek9.c,v 1.11 2004/02/06 20:50:44 guy Exp $
+ * $Id: airopeek9.c,v 1.12 2004/03/03 22:24:50 guy Exp $
  *
  * Wiretap Library
  * Copyright (c) 1998 by Gilbert Ramirez <gram@alumni.rice.edu>
@@ -545,7 +545,6 @@ static gboolean airopeekv9_read(wtap *wth, int *err, gchar **err_info,
        break;
     }
 
-    wth->phdr.pkt_encap = wth->file_encap;
     return TRUE;
 }
 
index 31f76eecb70ab62ce55167824d73d8fd7d835330..0fb002c00d5f42b995c6af31daf30e4c1c5993d9 100644 (file)
@@ -1,6 +1,6 @@
 /* ascend.c
  *
- * $Id: ascend.c,v 1.32 2004/01/25 21:55:12 guy Exp $
+ * $Id: ascend.c,v 1.33 2004/03/03 22:24:51 guy Exp $
  *
  * Wiretap Library
  * Copyright (c) 1998 by Gilbert Ramirez <gram@alumni.rice.edu>
@@ -333,7 +333,6 @@ static gboolean ascend_read(wtap *wth, int *err, gchar **err_info,
   wth->phdr.ts.tv_usec = header.usecs;
   wth->phdr.caplen = header.caplen;
   wth->phdr.len = header.len;
-  wth->phdr.pkt_encap = wth->file_encap;
   wth->data_offset = offset;
 
   *data_offset = offset;
index d121e2bd4cc6607db58e5fb67ec1de2039ed4de5..eb3bbb70cb5b1af690bad2af200948e6c8cf2cee 100644 (file)
@@ -1,6 +1,6 @@
 /* cosine.c
  *
- * $Id: cosine.c,v 1.9 2004/02/09 00:06:30 guy Exp $
+ * $Id: cosine.c,v 1.10 2004/03/03 22:24:51 guy Exp $
  *
  * CoSine IPNOS L2 debug output parsing
  * Copyright (c) 2002 by Motonori Shindo <mshindo@mshindo.net>
@@ -421,7 +421,6 @@ parse_cosine_rec_hdr(wtap *wth, const char *line,
                wth->phdr.ts.tv_sec = mktime(&tm);
                wth->phdr.ts.tv_usec = csec * 10000;
                wth->phdr.len = pkt_len;
-               wth->phdr.pkt_encap = WTAP_ENCAP_COSINE;
        }
        /* XXX need to handle other encapsulations like Cisco HDLC,
           Frame Relay and ATM */
index 5b19959627af8917023b1d23b5595957b85051fc..be747386dceff19283bfbd11b269e527264ba812 100644 (file)
@@ -1,6 +1,6 @@
 /* csids.c
  *
- * $Id: csids.c,v 1.16 2004/01/25 21:55:12 guy Exp $
+ * $Id: csids.c,v 1.17 2004/03/03 22:24:51 guy Exp $
  *
  * Copyright (c) 2000 by Mike Hall <mlh@io.com>
  * Copyright (c) 2000 by Cisco Systems
@@ -182,7 +182,6 @@ static gboolean csids_read(wtap *wth, int *err, gchar **err_info _U_,
   wth->phdr.caplen = hdr.caplen;
   wth->phdr.ts.tv_sec = hdr.seconds;
   wth->phdr.ts.tv_usec = 0;
-  wth->phdr.pkt_encap = WTAP_ENCAP_RAW_IP;
 
   if( wth->capture.csids->byteswapped == TRUE ) {
     guint16* swap = (guint16*)buf;
index e59e1e7bd63bc60e84457237a7f0b596dfcbe1d9..d247112b5e0641a109ae8a63effab163d32b1791 100644 (file)
@@ -1,6 +1,6 @@
 /* dbs-etherwatch.c
  *
- * $Id: dbs-etherwatch.c,v 1.16 2004/02/09 00:06:30 guy Exp $
+ * $Id: dbs-etherwatch.c,v 1.17 2004/03/03 22:24:51 guy Exp $
  *
  * Wiretap Library
  * Copyright (c) 2001 by Marc Milgram <ethereal@mmilgram.NOSPAMmail.net>
@@ -479,7 +479,6 @@ parse_dbs_etherwatch_packet(wtap *wth, FILE_T fh, guint8* buf, int *err,
                wth->phdr.ts.tv_usec = csec * 10000;
                wth->phdr.caplen = eth_hdr_len + pkt_len;
                wth->phdr.len = eth_hdr_len + pkt_len;
-               wth->phdr.pkt_encap = wth->file_encap;
        }
 
        /* Parse the hex dump */
index 3096cf37860b15c318b3c3e69f767e4e37d74b5b..18decfa48a4f89c8e93c5250a0fe5831897b0a66 100644 (file)
@@ -3,7 +3,7 @@
  * and V7 files
  * Copyright (c) 2001, Daniel Thompson <d.thompson@gmx.net>
  *
- * $Id: etherpeek.c,v 1.28 2004/02/06 02:09:11 guy Exp $
+ * $Id: etherpeek.c,v 1.29 2004/03/03 22:24:51 guy Exp $
  *
  * Wiretap Library
  * Copyright (c) 1998 by Gilbert Ramirez <gram@alumni.rice.edu>
@@ -466,7 +466,6 @@ static gboolean etherpeek_read_v7(wtap *wth, int *err, gchar **err_info,
                 wth->phdr.caplen -= 4;
        }
 
-       wth->phdr.pkt_encap = wth->file_encap;
        return TRUE;
 }
 
index 662d2a769cb330bf88b762e7d2c20644be8a68ea..9c0b5e36eb25a13a2c4a87c938d119cd2cdac09f 100644 (file)
@@ -1,6 +1,6 @@
 /* eyesdn.c
  *
- * $Id: eyesdn.c,v 1.4 2004/03/03 01:49:16 guy Exp $
+ * $Id: eyesdn.c,v 1.5 2004/03/03 22:24:51 guy Exp $
  *
  * Wiretap Library
  * Copyright (c) 1998 by Gilbert Ramirez <gram@alumni.rice.edu>
@@ -220,7 +220,6 @@ static gboolean eyesdn_read(wtap *wth, int *err, gchar **err_info,
 
        wth->data_offset = offset;
        *data_offset = offset;
-       wth->phdr.pkt_encap = wth->file_encap;
        return TRUE;
 }
 
index 6de99d12914abcdb07ec5a5585270d8b38130b05..f1d59d2774601f4edfc6fdf53293c16a984c5408 100644 (file)
@@ -1,6 +1,6 @@
 /* hcidump.c
  *
- * $Id: hcidump.c,v 1.3 2004/01/25 21:55:13 guy Exp $
+ * $Id: hcidump.c,v 1.4 2004/03/03 22:24:51 guy Exp $
  *
  * Copyright (c) 2003 by Marcel Holtmann <marcel@holtmann.org>
  *
@@ -84,7 +84,6 @@ static gboolean hcidump_read(wtap *wth, int *err, gchar **err_info,
        wth->phdr.ts.tv_usec = GUINT32_FROM_LE(dh.ts_usec);
        wth->phdr.caplen = packet_size;
        wth->phdr.len = packet_size;
-       wth->phdr.pkt_encap = WTAP_ENCAP_BLUETOOTH_H4;
 
        wth->pseudo_header.p2p.sent = (dh.in ? FALSE : TRUE);
 
index 51bec6af0b8466f0d4e274b0c288b4d4dc947995..1755ae4ec926fff330b2fa2006a9eb4191d91a7a 100644 (file)
@@ -1,6 +1,6 @@
 /* lanalyzer.c
  *
- * $Id: lanalyzer.c,v 1.46 2004/01/25 21:55:15 guy Exp $
+ * $Id: lanalyzer.c,v 1.47 2004/03/03 22:24:51 guy Exp $
  *
  * Wiretap Library
  * Copyright (c) 1998 by Gilbert Ramirez <gram@alumni.rice.edu>
@@ -385,7 +385,6 @@ static gboolean lanalyzer_read(wtap *wth, int *err, gchar **err_info,
        }
        wth->phdr.len = true_size;
        wth->phdr.caplen = packet_size;
-       wth->phdr.pkt_encap = wth->file_encap;
 
        switch (wth->file_encap) {
 
index 88a9170f67a2fff670bc02f8d54c9b9db9ac6ae0..76a7ad99ec45e69ea6d9fb7ef373cff5f22bfbcc 100644 (file)
@@ -1,6 +1,6 @@
 /* libpcap.c
  *
- * $Id: libpcap.c,v 1.115 2004/02/19 08:02:06 guy Exp $
+ * $Id: libpcap.c,v 1.116 2004/03/03 22:24:51 guy Exp $
  *
  * Wiretap Library
  * Copyright (c) 1998 by Gilbert Ramirez <gram@alumni.rice.edu>
@@ -1180,7 +1180,6 @@ static gboolean libpcap_read(wtap *wth, int *err, gchar **err_info,
        wth->phdr.ts.tv_usec = hdr.hdr.ts_usec;
        wth->phdr.caplen = packet_size;
        wth->phdr.len = orig_size;
-       wth->phdr.pkt_encap = wth->file_encap;
 
        if (wth->file_encap == WTAP_ENCAP_ATM_PDUS) {
                if (wth->file_type == WTAP_FILE_PCAP_NOKIA) {
index c5c48411e974ece6610cebe868186c033584665f..b6be16ce5b8ac331f58a3cc0704572f8aaca232a 100644 (file)
@@ -1,6 +1,6 @@
 /* netmon.c
  *
- * $Id: netmon.c,v 1.68 2004/01/25 21:55:15 guy Exp $
+ * $Id: netmon.c,v 1.69 2004/03/03 22:24:51 guy Exp $
  *
  * Wiretap Library
  * Copyright (c) 1998 by Gilbert Ramirez <gram@alumni.rice.edu>
@@ -452,7 +452,6 @@ static gboolean netmon_read(wtap *wth, int *err, gchar **err_info,
        wth->phdr.ts.tv_usec = usecs;
        wth->phdr.caplen = packet_size;
        wth->phdr.len = orig_size;
-       wth->phdr.pkt_encap = wth->file_encap;
 
        /*
         * Attempt to guess from the packet data, the VPI, and the VCI
index fe8068aa9e5711b5dbf51583ce22675c034f224d..2f88a4845e96eed6eb1b1de087896105da01265b 100644 (file)
@@ -1,6 +1,6 @@
 /* netxray.c
  *
- * $Id: netxray.c,v 1.89 2004/01/27 08:06:12 guy Exp $
+ * $Id: netxray.c,v 1.90 2004/03/03 22:24:51 guy Exp $
  *
  * Wiretap Library
  * Copyright (c) 1998 by Gilbert Ramirez <gram@alumni.rice.edu>
@@ -646,7 +646,6 @@ reread:
                wth->phdr.caplen = packet_size - padding;
                wth->phdr.len = pletohs(&hdr.hdr_1_x.orig_len) - padding;
        }
-       wth->phdr.pkt_encap = wth->file_encap;
 
        return TRUE;
 }
index 0c93110908346f7bcd676ea92b5ccc8af576253a..2f25173c7128980e17d029125c1cf8b242e14162 100644 (file)
@@ -1,6 +1,6 @@
 /* radcom.c
  *
- * $Id: radcom.c,v 1.44 2004/01/25 21:55:17 guy Exp $
+ * $Id: radcom.c,v 1.45 2004/03/03 22:24:52 guy Exp $
  *
  * Wiretap Library
  * Copyright (c) 1998 by Gilbert Ramirez <gram@alumni.rice.edu>
@@ -351,8 +351,6 @@ static gboolean radcom_read(wtap *wth, int *err, gchar **err_info _U_,
                return FALSE;   /* Read error */
        wth->data_offset += length;
 
-       wth->phdr.pkt_encap = wth->file_encap;
-
        if (wth->file_encap == WTAP_ENCAP_LAPB) {
                /* Read the FCS.
                   XXX - should we have some way of indicating the
index bc3a8811c4ae422c58b4cb78673741b98c96a3f1..676f4f9d85f9f3b5e53fec8f97115717e6842d60 100644 (file)
@@ -1,6 +1,6 @@
 /* snoop.c
  *
- * $Id: snoop.c,v 1.68 2004/01/25 21:55:17 guy Exp $
+ * $Id: snoop.c,v 1.69 2004/03/03 22:24:52 guy Exp $
  *
  * Wiretap Library
  * Copyright (c) 1998 by Gilbert Ramirez <gram@alumni.rice.edu>
@@ -505,7 +505,6 @@ static gboolean snoop_read(wtap *wth, int *err, gchar **err_info,
        wth->phdr.ts.tv_usec = g_ntohl(hdr.ts_usec);
        wth->phdr.caplen = packet_size;
        wth->phdr.len = orig_size;
-       wth->phdr.pkt_encap = wth->file_encap;
 
        /*
         * If this is ATM LANE traffic, try to guess what type of LANE
index 0447b4b7e7b589786ac52f5281bed92f241aa9a6..96a13be83067858f4117b0fec5bc59f448142f79 100644 (file)
@@ -2,7 +2,7 @@
  * File read and write routines for Visual Networks cap files.
  * Copyright (c) 2001, Tom Nisbet  tnisbet@visualnetworks.com
  *
- * $Id: visual.c,v 1.15 2004/01/25 21:55:17 guy Exp $
+ * $Id: visual.c,v 1.16 2004/03/03 22:24:52 guy Exp $
  *
  * Wiretap Library
  * Copyright (c) 1998 by Gilbert Ramirez <gram@alumni.rice.edu>
@@ -311,8 +311,6 @@ static gboolean visual_read(wtap *wth, int *err, gchar **err_info,
        with a media type of HDLC can be either Cisco EtherType or PPP. */
     if ((wth->file_encap == WTAP_ENCAP_CHDLC_WITH_PHDR) && (vpkt_hdr.encap_hint == 14))
         wth->phdr.pkt_encap = WTAP_ENCAP_PPP_WITH_PHDR;
-    else
-        wth->phdr.pkt_encap = wth->file_encap;
 
     return TRUE;
 }
index 8ccb086ee3f8f6685df4236eb9124fc077a8e871..27b88d33ad2960ecd25bbfc7c8b655f66d6c7f10 100644 (file)
@@ -1,6 +1,6 @@
 /* vms.c
  *
- * $Id: vms.c,v 1.22 2004/02/09 00:06:30 guy Exp $
+ * $Id: vms.c,v 1.23 2004/03/03 22:24:53 guy Exp $
  *
  * Wiretap Library
  * Copyright (c) 2001 by Marc Milgram <ethereal@mmilgram.NOSPAMmail.net>
@@ -444,7 +444,6 @@ parse_vms_rec_hdr(wtap *wth, FILE_T fh, int *err, gchar **err_info)
         wth->phdr.ts.tv_usec = csec * 10000;
         wth->phdr.caplen = pkt_len;
         wth->phdr.len = pkt_len;
-        wth->phdr.pkt_encap = WTAP_ENCAP_RAW_IP;
     }
 
     return pkt_len;
index 900e92b24cccf8be721d67fd1e120569aa887ccc..bfd171884670d17740d368614a6324e7cb829932 100644 (file)
@@ -1,6 +1,6 @@
 /* wtap.c
  *
- * $Id: wtap.c,v 1.89 2004/01/29 10:58:28 guy Exp $
+ * $Id: wtap.c,v 1.90 2004/03/03 22:24:53 guy Exp $
  *
  * Wiretap Library
  * Copyright (c) 1998 by Gilbert Ramirez <gram@alumni.rice.edu>
@@ -368,6 +368,16 @@ wtap_close(wtap *wth)
 gboolean
 wtap_read(wtap *wth, int *err, gchar **err_info, long *data_offset)
 {
+       /*
+        * Set the packet encapsulation to the file's encapsulation
+        * value; if that's not WTAP_ENCAP_PER_PACKET, it's the
+        * right answer (and means that the read routine for this
+        * capture file type doesn't have to set it), and if it
+        * *is* WTAP_ENCAP_PER_PACKET, the caller needs to set it
+        * anyway.
+        */
+       wth->phdr.pkt_encap = wth->file_encap;
+
        if (!wth->subtype_read(wth, err, err_info, data_offset))
                return FALSE;   /* failure */
 
@@ -377,6 +387,15 @@ wtap_read(wtap *wth, int *err, gchar **err_info, long *data_offset)
         */
        if (wth->phdr.caplen > wth->phdr.len)
                wth->phdr.caplen = wth->phdr.len;
+
+       /*
+        * Make sure that it's not WTAP_ENCAP_PER_PACKET, as that
+        * probably means the file has that encapsulation type
+        * but the read routine didn't set this packet's
+        * encapsulation type.
+        */
+       g_assert(wth->phdr.pkt_encap != WTAP_ENCAP_PER_PACKET);
+
        return TRUE;    /* success */
 }