Commit Graph

832 Commits

Author SHA1 Message Date
Ulf Lamping 76bbd4181b don't claim to be an erf file if it isn't (e.g. if the file_read call fails)
I don't know if this is the right way to fix it, but it seems at least better than before

svn path=/trunk/; revision=16971
2006-01-07 01:19:29 +00:00
Ulf Lamping 161d4d7efd code cleanup: use "-" for all places, where stdin/stdout is meant
tethereal internally converted the stdout capture filename "-" into "" which doesn't make any real sense and only complicated things.

To make things even more confusing, wiretap expected "" for dump output and "-" for offline reading ...

svn path=/trunk/; revision=16962
2006-01-06 01:06:46 +00:00
Ulf Lamping 548d44c041 Win32: set stdout to binary mode in wtap_dump_fdopen(), so tethereal is also able to write capture files to stdout using -w -
svn path=/trunk/; revision=16958
2006-01-05 22:24:09 +00:00
Ulf Lamping 851692e8fb bugfix to #649: first convert to microseconds, then eventually swap byte ordering (not the other way round)
svn path=/trunk/; revision=16925
2005-12-31 11:48:32 +00:00
Luis Ontanon 5113ab4d4a Add support for Juniper GGSN generated pcap files.
svn path=/trunk/; revision=16857
2005-12-19 19:18:20 +00:00
Guy Harris 2646996a82 Fail if *any* of the fields in the per-packet header of the first record
aren't sane, rather than requiring them *all* to have invalid values.

svn path=/trunk/; revision=16610
2005-11-27 12:10:03 +00:00
Anders Broman 00728fb587 From Martin Warnes:
Add Support for reading of IBM iSeries (AS/400) Comms traces

svn path=/trunk/; revision=16588
2005-11-25 20:30:42 +00:00
Ulf Lamping c2c6475048 minor mkdir bugfix from Gisle Vanem
svn path=/trunk/; revision=16492
2005-11-12 16:44:54 +00:00
Guy Harris 17456c2e09 Include <unistd.h> if available, to get "close()" declared.
Update the big comment to reflect current reality.

svn path=/trunk/; revision=16453
2005-11-10 02:49:54 +00:00
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