Commit graph

823 commits

Author SHA1 Message Date
Guy Harris
262a414f41 The problem wasn't that <sys/stat.h> wasn't being included, the problem
was that file_util.h wasn't in the distribution tarball, so it couldn't
be included - it handles including <sys/stat.h>.

svn path=/trunk/; revision=16423
2005-11-07 20:14:40 +00:00
Ulf Lamping
91e66afb84 add file_util.h so distcheck might work
svn path=/trunk/; revision=16422
2005-11-07 19:51:16 +00:00
Guy Harris
60c4c050d0 You need <sys/stat.h>, if present, to use fstat().
svn path=/trunk/; revision=16416
2005-11-07 17:18:52 +00:00
Guy Harris
688a256884 The standard <dirent.h> routines to rewind and close a directory are
rewinddir() and closedir().

Clean up indentation.

svn path=/trunk/; revision=16415
2005-11-07 17:12:43 +00:00
Guy Harris
7474bc0f13 If we're using libz, make file_open() construct the open() flag
argument, rather than requiring the caller to get the open() flag and
the fopen() flag in sync.  That also means that if we're *not* using
libz, it can just be a wrapper around eth_fopen().

We need to include <fcntl.h>, at least on UN*X, to get open() declared
and the O_ flags defined.

svn path=/trunk/; revision=16409
2005-11-07 02:45:19 +00:00
Ulf Lamping
937a50243c as mkstemp makes trouble and is only used once in util.c, move definition from file_util.h to util.c for now
this hopefully fixes the mkstemp problem

svn path=/trunk/; revision=16406
2005-11-07 00:20:20 +00:00
Guy Harris
5990cb095a Get rid of CRs and set svn:eol-style to native, so that Windows machines
get the CRs and UN*X machines don't.  Also set svn:keywords to Id to
expand RCS IDs.

svn path=/trunk/; revision=16405
2005-11-06 23:21:03 +00:00
Ulf Lamping
cc3d9cb78f Obviously, <glib/gstdio.h> is available since GLib version 2.6 only ...
svn path=/trunk/; revision=16404
2005-11-06 23:11:49 +00:00
Ulf Lamping
c3187174bf replace *a lot* of file related calls by their GLib counterparts. This is necessary for the switch to GTK 2.6 (at least on WIN32).
to do this, I've added file_util.h to wiretap (would file_compat.h be a better name?), and provide compat_macros like eth_open() instead of open(). While at it, move other file related things there, like #include <io.h>, definition of O_BINARY and alike, so it's all in one place.

deleted related things from config.h.win32

As of these massive changes, I'm almost certain that this will break the Unix build. I'll keep an eye on the buildbot so hopefully everything is working again soon.

svn path=/trunk/; revision=16403
2005-11-06 22:43:25 +00:00
Anders Broman
973bdcb507 From Mark C Brown,
Small patch correcting nettl.uid to unsigned and adding pduin/pduout as nettl.kind values...

svn path=/trunk/; revision=16320
2005-10-26 19:01:29 +00:00
Luis Ontanon
74d1997f40 forgot this from the last commit
svn path=/trunk/; revision=16297
2005-10-24 21:52:14 +00:00
Luis Ontanon
9008cf5cd9 - packet records with AAL5 Pdus or AAL2 Sdus contain VP/VC and CID info in the packet record, use that instead of the one in the intreface description record.
- Fix Timestamps that got broken with nanoseconds.
- Add some more disabled code for debugging.


svn path=/trunk/; revision=16294
2005-10-24 21:20:03 +00:00
Guy Harris
67d94f37a4 Update URL for Sniffer manual, and expand a comment a bit.
svn path=/trunk/; revision=16285
2005-10-22 04:09:37 +00:00
Guy Harris
097f75dd7a Add #defines for the DOS Sniffer network types and for various frame
status field bits".

Check for "Internetwork analyzer" captures by checking the Sniffer
network type, and save that type rather than just an "ATM or not" flag
in the private data.

svn path=/trunk/; revision=16283
2005-10-22 03:49:23 +00:00
Guy Harris
39fb4b8378 "aalt5_len" in the ATM pseudo-header is not guaranteed to be set to a
non-zero value - it's only set from file formats that provide it in a
per-packet header, and only the old DOS Sniffer did so, so it's zero for
all other capture types.  Instead, check the actual packet data length.

Also check it against 16; 14 bytes isn't large enough for a LANE
Ethernet frame.

svn path=/trunk/; revision=16261
2005-10-18 10:39:23 +00:00
Luis Ontanon
d9a581c3c5 make sure tham when more than one stack file is used each channel uses the right stack file.
svn path=/trunk/; revision=16218
2005-10-13 18:37:42 +00:00
Anders Broman
118236bacc From Ignacio Goyret
correct a bug in parsing Lucent/Ascend PPP dumps. Basically, blobs with "PPP-OUT" should be labelled "PPP transmit" while blobs with "PPP-IN" should be labelled "PPP receive". The current code labels them the other way around.

packet-ppp.c
- Properly decode option to enable ECRTP (it wasn't decoded).
- Use the ipv6 knob to control ipv6 decoding (previously, it
  was using the ipv4 knob).

svn path=/trunk/; revision=16194
2005-10-11 19:55:55 +00:00
Anders Broman
5ddbeb2cb8 From Rene Pilz,
In the bssgp an IE was decoded as mobile identity and should be decoded as (p)tmsi only.

The patch is attached to this email. It also consists the new atm patch which was send yesterday.


svn path=/trunk/; revision=16146
2005-10-06 20:01:25 +00:00
Guy Harris
ad2023cdb8 A heuristic that only treats packets that appear to be LANE-encapsulated
Ethernet packets with a length field as LANE packets, and doesn't do so
for packets that appear to be LANE-encapsulated Ethernet packets with a
type field, is too weak.  Back out that part of the heuristics added in
the previous checkin.

svn path=/trunk/; revision=16111
2005-10-04 10:13:15 +00:00
Anders Broman
e1ebb0953d From Rene Piltz:
Due to the fact that 3G Signaling appears at an undefined VPI/VCI I added a heuristics (very simple) which should take care of this fact.

svn path=/trunk/; revision=16108
2005-10-04 05:42:18 +00:00
Anders Broman
df21536710 From Hannes Gredler:
patch to support 4 additional juniper DLTs.

all those are wrappers for exisiting media types augmented with meta-information which gets also displayed using this patch;

svn path=/trunk/; revision=15908
2005-09-20 20:25:55 +00:00
Ulf Lamping
84cf7ce767 added compression support for capture file output. The Save/As dialog now has a checkbox "Compress with gzip"
currently limited to Ethereal and all the variants of libpcap filetypes only.

We might want to add output compression support to the other tools as well (tethereal, mergecap, ...).

We might also want to add support for the other filetypes, but this is only possible if the filetype functions doesn't use special output operations like fseek.

One bug is still left: if the input and output filetypes while saving are the same, Ethereal currently optimizes this by simply copy the binary file instead of using wiretap (so it will be faster but it will ignore the compress setting). 

Don't know a good workaround for this, as I don't know a way to find out if the input file is currently compressed or not. One idea might be to use a heuristic on the filesize (compared to the packet size summmary). Another workaround I see is to remove this optimization, which is of course not the way I like to do it ...

svn path=/trunk/; revision=15804
2005-09-14 21:57:30 +00:00
Guy Harris
90ce35c64e From Bill Meier:
define "timezone" as "gint16", as it can be positive (west of
	UTC) or negative (east of UTC);

	update comments to refer to the new names for structure members;

	say the precision of the time stamps is 1 nanosecond only if the
	ticks per second is > 10 million;

	fix the handling of files truncated exactly on a frame boundary.

svn path=/trunk/; revision=15739
2005-09-09 08:40:58 +00:00
Gerald Combs
e0331bbb1c Fix more problems found by Steve Grubb, along with other changes:
Camel: Fix an off-by-one error.  Don't alloc and free where it's not
needed.  Remove an unused variable.

PPP and K12: Fix memory leaks.

svn path=/trunk/; revision=15725
2005-09-08 15:01:16 +00:00
Ulf Lamping
4cd4f9a669 Add support for slightly modified libpcap file format with nanosecond resolution (currently supported by Ethereal only). Support for both read and write was added.
The file format stays the same as the common libpcap format, only the lower part of the timestamp field uses nanoseconds instead of microseconds.

This file format uses the libpcap magic number 0xa1b23c4d.

svn path=/trunk/; revision=15623
2005-08-30 09:43:47 +00:00
Guy Harris
88c5c6c0d8 Get rid of the old file header definition.
Set the time stamp resolution based on whether the number of ticks per
second is > 1 million or not.

svn path=/trunk/; revision=15606
2005-08-29 01:18:27 +00:00
Guy Harris
394582573d From Bill Meier:
1. Use the new (good work!) 'nanosec' precision only for gig pods;
2. Rework 'struct netxray_hdr' to make it (somewhat) easier
   to maintain and revise:
   a. Declare known hdr fields such as 'captype' instead
      of using offsets in 'xxx placeholder' fields.
   d. Define 'unknown' hdr fields using placeholder names
      based upon hex-offset in the netxray header record.
      (This isn't perfect, but I hope it will make things 
       more manageable).
3. Update hdr field info (based upon examination of various
   capture files):
   a. Define a hdr field which appears to be 'time-zone' 
      [offset in hours from UTC] for the machine doing
      the capture.
      (Maybe this field can eventually be used for Ethereal
       to display the (local) time as it was at the time
       of the capture).
   b. Describe certain hdr fields as being "file offsets"
      (altho the exact use is still unclear).

Update some comments.

svn path=/trunk/; revision=15603
2005-08-28 23:11:53 +00:00
Guy Harris
7b6ae0a049 Ethereal requires 64-bit integrer support; do the time stamp
calculations with integers, which avoids some floating-point inaccuracy.

svn path=/trunk/; revision=15602
2005-08-28 22:52:05 +00:00
Guy Harris
6a4a656881 Get rid of a no-longer-true comment.
svn path=/trunk/; revision=15598
2005-08-28 19:55:44 +00:00
Guy Harris
9238aad9db Fix indentation, and fix a comment.
svn path=/trunk/; revision=15545
2005-08-26 19:44:30 +00:00
Guy Harris
98473c77b6 Ethereal now requires 64-bit integer support, so get rid of the tests of
G_HAVE_GINT64.

Get rid of the floating-point stuff in the Etherpeek Classic file
reading code, just use 64-bit integers.  Fix up the calculation of the
nanoseconds portion of the time stamp.

svn path=/trunk/; revision=15544
2005-08-26 19:40:46 +00:00
Ulf Lamping
723c80ea90 timestamp display precision:
- automatic adjustment depending on file format
- manual adjustment through menu items

save the setting in the recent file

svn path=/trunk/; revision=15534
2005-08-25 21:29:54 +00:00
Ulf Lamping
6f43fbb2f0 EVERYTHING IN THE BUILDBOT IS GOING TO BE RED!!! Sorry!
I've done more than a day to change the timestamp resolution from microseconds to nanoseconds. As I really don't want to loose those changes, I'm going to check in the changes I've done so far. Hopefully someone else will give me a helping hand with the things left ...

What's done: I've changed the timestamp resolution from usec to nsec in almost any place in the sources. I've changed parts of the implementation in nstime.s/.h and a lot of places elsewhere.

As I don't understand the editcap source (well, I'm maybe just too tired right now), hopefully someone else might be able to fix this soon.

Doing all those changes, we get native nanosecond timestamp resolution in Ethereal. After fixing all the remaining issues, I'll take a look how to display this in a convenient way...

As I've also changed the wiretap timestamp resolution from usec to nsec we might want to change the wiretap version number...

svn path=/trunk/; revision=15520
2005-08-24 21:31:56 +00:00
Luis Ontanon
9362605183 Two fixes to tektronix k12 import:
- it appears that there are more packet record types other than 0x00010020.
     accept anything matching 0x00010020/28 as a packet record.

- make the stack filename lowercase before comparing it so that capitalization is not an issue.


svn path=/trunk/; revision=15513
2005-08-22 23:11:48 +00:00
Guy Harris
07f44e2a7f "ascend-grammar.h" is generated by Bison with a copy of the definition
of the YYSTYPE structure in "ascend-grammar.c"; the intent is that other
files include "ascend-grammar.h" if they need that structure, but that
"ascend-grammar.c" not itself include "ascend-grammar.h".  If it *does*
include it, the compiler complains about YYSTYPE being redefined (even
though the two structures are identical).

svn path=/trunk/; revision=15478
2005-08-20 17:49:58 +00:00
Jörg Mayer
96adc5f4a1 - Include the .h files in their .c files.
- Remove epan/dissectors/packet-sna.h, it isn't used anywhere.

svn path=/trunk/; revision=15475
2005-08-20 16:19:22 +00:00
Jörg Mayer
980b568a3d Add -Wmissing-declarations -Wwrite-strings to extra-gcc-flags
svn path=/trunk/; revision=15453
2005-08-20 02:05:02 +00:00
Guy Harris
38ec1644e6 Add APIs to Wiretap to return the file of the size as supplied by the OS
(so if the file's gzipped, it's *NOT* the size of the file after
uncompressing), and an approximation of the amount of that data read
sequentially so far.

Use those for various progress bars and the like.

Make the fstat() in the Ascend trace reader directly use wth->fd, as
it's inside Wiretap; that gets rid of the last caller of wtap_fd() (as
we're no longer directly using fstat() or lseek() in Ethereal), so get
rid of wtap_fd().

svn path=/trunk/; revision=15437
2005-08-19 19:40:00 +00:00
Guy Harris
d5891d9623 Try yet another scheme for handling time stamps; realtick isn't always
correct.

svn path=/trunk/; revision=15404
2005-08-18 09:47:00 +00:00
Anders Broman
8b0ed89155 From Hannes Gredler
- add support for Multi-Link Frame-Relay (FRF.15) captures
  taken on Juniper ML-, LS-, AS- PICs.

- rework of the common juniper header dissector:
    test the extension flag (0x80) which indicates that there are
    meta-information like interface-index, interface-name etc.
    present

- minor bugfix (LSQ L3-proto masks, direction masks were broken)

svn path=/trunk/; revision=15316
2005-08-12 21:08:02 +00:00
Gerald Combs
d0811b3d35 Don't assume ints are 32 bits. Fixes a recent Buildbot error.
svn path=/trunk/; revision=15200
2005-08-03 17:32:00 +00:00
Jörg Mayer
f5afb4da1b Include the .h files into the .c files. That way we
a) get rid of warnings of type "no previous declaration" and
b) make sure that declaration and implementation are in sync.

svn path=/trunk/; revision=15168
2005-08-02 04:23:39 +00:00
Jörg Mayer
e1c6d9ac3d Fix some warnings (and one of my previous 'fixes')
svn path=/trunk/; revision=14997
2005-07-22 17:57:40 +00:00
Anders Broman
bd12fbef7f From Hannes Gredler:
support for support for DLT_JUNIPER_MLPPP

svn path=/trunk/; revision=14994
2005-07-22 15:55:06 +00:00
Jörg Mayer
f67b00ad9a More 'char*' -> 'const char*' warning fixes
svn path=/trunk/; revision=14986
2005-07-22 07:55:51 +00:00
Jörg Mayer
5b442f2279 After doing "make maintainer-clean", "svn status --no-ignore | grep ^I"
returned quite a list of files. Add them to MAINTAINERCLEANFILES.

Whitespace changes (replace multiple spaces by TABs, in a few cases this
needed to be done at the beginning of Makefile lines.


svn path=/trunk/; revision=14891
2005-07-10 08:04:27 +00:00
Guy Harris
7828470923 Make nettl file header items containing strings "gchar", to squelch
signed vs. unsigned compiler warnings.

svn path=/trunk/; revision=14873
2005-07-08 02:21:16 +00:00
Jörg Mayer
d67ae33f0f Replace Chris Lydick by Robert Long as Author of the Sniffer 2.003 support patch
svn path=/trunk/; revision=14862
2005-07-05 22:58:00 +00:00
Jörg Mayer
adddb9819b Chris Lydick: Support for Sniffer 2.003 files.
Modified to match the current codebase.


svn path=/trunk/; revision=14832
2005-07-02 15:40:49 +00:00
Ronnie Sahlberg
a60bb6ada9 make reading of observer files work again
for some reason we have forgotten to skip the initial (always 8?) bytes prior to the start of the frame.
 

svn path=/trunk/; revision=14822
2005-06-30 02:31:15 +00:00