Commit graph

842 commits

Author SHA1 Message Date
Anders Broman
70a045d772 From Mertin Wrnes:
Following my last submitted patch I did some further investigation on the different types of iSeries  Comms Traces, although the field formats are constant, things such as page throws and line spacing vary depending on the tool used to pull the trace form the iSeries spool.

This patch should better handle the different formats and more importantly exit in a graceful manner if an unknown format is encountered.


svn path=/trunk/; revision=17699
2006-03-22 17:37:04 +00:00
Jaap Keuter
a346237ffd From Martin Warnes:
Attached is a fix that addresses a problem reading certain IBM iSeries
Communications traces.


svn path=/trunk/; revision=17655
2006-03-17 06:59:27 +00:00
Luis Ontanon
9ed9299e17 Remove an entire horde of off-by-one errors pointed out by Coverity's CID: 83
(Coverity finds just one at a time...)


svn path=/trunk/; revision=17580
2006-03-11 11:48:35 +00:00
Gerald Combs
d910d8491b Fix a possible NULL dereference (Coverity CID 33).
svn path=/trunk/; revision=17556
2006-03-09 20:48:17 +00:00
Luis Ontanon
83296ec679 Another off by one error found by coverity (CID 83), using > instead of >= when comparing index against array size.
svn path=/trunk/; revision=17521
2006-03-08 10:20:09 +00:00
Luis Ontanon
3fa91ab7be Coverity's run 14 CID 82.
an off by one error (> vs >= in bounds check).


svn path=/trunk/; revision=17520
2006-03-08 10:14:51 +00:00
Anders Broman
497e0ec775 From Daniele Orlandi:
The attached patch adds support for LAPD frames captured using vISDN thru 
libpcap. The support has already been included in libpcap.

The patch adds a new wiretap encapsulation, the necessary glue to decode 
SLL-encapsulated frames, and some minor change in the LAPD dissector in order 
to support the remote-to-remote frames captured on the ISDN E-Channel.

Please apply ethereal-encap-table.diff before, as it fixes a misalignment in 
the encapsulation names table.

svn path=/trunk/; revision=17450
2006-03-02 21:28:05 +00:00
Anders Broman
38c1fab219 Add makefile.nmake
svn path=/trunk/; revision=17365
2006-02-22 06:06:21 +00:00
Ulf Lamping
58d9f6c3b1 even if we don't want to close stdout on wtap_dump_close(), we might at least try to flush it
svn path=/trunk/; revision=17326
2006-02-17 01:47:53 +00:00
Jaap Keuter
ca4000cbaf The attached patch to fix bug 663 allows Ethereal to read Windows
Sniffer V2 format capture files with captyp=5, timeunit=0.
The ticks_per_sec for this case apparently is 1e6.

Bill Meier

svn path=/trunk/; revision=17019
2006-01-12 15:02:25 +00:00
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