Commit Graph

148 Commits

Author SHA1 Message Date
Guy Harris 7f7733579c Don't cast away constness.
svn path=/trunk/; revision=50853
2013-07-23 23:25:04 +00:00
Guy Harris f13ba97806 Fix some pointer-signedness (well, signedness of what the pointer points
to) warnings.

svn path=/trunk/; revision=50104
2013-06-21 02:59:54 +00:00
Guy Harris 8c9edf1280 Have the seek-read routines take a Buffer rather than a guint8 pointer
as the "where to put the packet data" argument.

This lets more of the libwiretap code be common between the read and
seek-read code paths, and also allows for more flexibility in the "fill
in the data" path - we can expand the buffer as needed in both cases.

svn path=/trunk/; revision=49949
2013-06-16 00:20:00 +00:00
Guy Harris e6e5aa7fa4 wth->priv is always set in the open routine; no need to check that it's
non-null.

svn path=/trunk/; revision=49338
2013-05-16 18:30:24 +00:00
Guy Harris d9d8174f12 Pull all the post-processing for a parsed line into a common routine,
used in both the seek and seek_read routines.

(And, yes, the time stamp *is* supposed to be filled in by seek_read
routines.)

Pull some now-used-only-once routines into the new routine.

svn path=/trunk/; revision=49335
2013-05-16 18:27:27 +00:00
Anders Broman 85973068cc From beroset:
remove C++ incompatibilities

https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8416

svn path=/trunk/; revision=48038
2013-03-03 17:14:19 +00:00
Martin Mathieson cf15301cbf Add support for reading/writing 'sprint' lines from test scripts.
svn path=/trunk/; revision=47686
2013-02-15 23:43:30 +00:00
Guy Harris 41e6e0f7e6 Always check the return value of read_new_line().
svn path=/trunk/; revision=46821
2012-12-28 09:10:18 +00:00
Guy Harris 5996b49c53 Squelch implicit 64-bit-to-32-bit conversion warnings.
svn path=/trunk/; revision=46650
2012-12-21 03:32:16 +00:00
Jakub Zawadzki 78631020b8 Add wtap_pseudo_header union to wtap_pkthdr structure.
Use pkthdr instead of pseudo_header as argument for dissecting.

svn path=/trunk/; revision=45601
2012-10-16 21:50:57 +00:00
Martin Mathieson 5809e2cfdf Some improvements after looking at profile of large reordercap run.
- speed up writing timestamp by avoiding g_snprintf()
- avoid call to strstr()
- don't use g_snprintf() for writing a liternal string
- avoid atio() for single-digit strings
- avoid some strcmp() calls where the release number at the end wasn't
  important

svn path=/trunk/; revision=45091
2012-09-24 10:29:19 +00:00
Martin Mathieson 32ed74e83d Shouldn't set the time in seek_read() after all. At least the pcap
support doesn't.

svn path=/trunk/; revision=45022
2012-09-20 10:21:04 +00:00
Jeff Morriss 3551a86c36 We always HAVE_CONFIG_H so don't bother checking whether we have it or not.
svn path=/trunk/; revision=45015
2012-09-20 01:29:52 +00:00
Martin Mathieson a59117bd87 Fix a couple of dumping issues seen while working on 'reorder'.
svn path=/trunk/; revision=45003
2012-09-19 09:24:11 +00:00
Martin Mathieson d2b7806d3f Avoid some calls to strlen() by remembering return value from
g_strlcpy().

svn path=/trunk/; revision=44608
2012-08-21 17:19:05 +00:00
Martin Mathieson d29d88e687 Ignore '\r' which will be found at the end of a line when a windows host
writes a log.

Also re-line-up args under function definitions.

svn path=/trunk/; revision=44444
2012-08-11 15:19:25 +00:00
Martin Mathieson 7901962209 Fix another uninitialised bug (the same bug in _read() I fixed
yesterday, also in _seek_read()).  Spotted by running 'valgrind-wireshark.sh -2'.

svn path=/trunk/; revision=44043
2012-07-26 13:59:20 +00:00
Martin Mathieson ca8d59f834 Initialize a byte to avoid more valgrind warnings.
svn path=/trunk/; revision=44019
2012-07-25 22:56:08 +00:00
Martin Mathieson 2f3a057bca Don't write one payload byte too many. Spotted by valgrind!
svn path=/trunk/; revision=44016
2012-07-25 21:53:39 +00:00
Martin Mathieson e7b8e93e27 memcpy() is quite a bit faster than g_strlcpy()!
svn path=/trunk/; revision=43675
2012-07-11 20:53:24 +00:00
Jakub Zawadzki bf81b42e1e Update Free Software Foundation address.
(COPYING will be updated in next commit)

svn path=/trunk/; revision=43536
2012-06-28 22:56:06 +00:00
Anders Broman 2bc42dc547 Try to squelch warnings
svn path=/trunk/; revision=42998
2012-06-02 14:13:14 +00:00
Gerald Combs bdb614e264 Fix a bunch of uninitialized variables found by Coverity Scan. CIDs
702403, 702404, 702405, 702406, 702407, 702408, 702409, 702410, 702411,
and 702412.

svn path=/trunk/; revision=42658
2012-05-16 16:29:12 +00:00
Guy Harris 33bb54a945 file_seek() used to be a wrapper around fseek() or gzseek(), both of
which could use lseek() and were thus expensive due to system call
overhead.  To avoid making a system call for every packet on a
sequential read, we maintained a data_offset field in the wtap structure
for sequential reads.

It's now a routine that just returns information from the FILE_T data
structure, so it's cheap.  Use it, rather than maintaining the data_offset
field.

Readers for some file formats need to maintain file offset themselves;
have them do so in their private data structures.

svn path=/trunk/; revision=42423
2012-05-04 16:56:18 +00:00
Martin Mathieson 722c68ec90 Fix a typo (just clearing my client out before I start doing diffs).
svn path=/trunk/; revision=42077
2012-04-15 01:38:12 +00:00
Martin Mathieson f0798dabd1 Set up table to help with ascii-hex -> hex conversion in advance to
avoid testing static for every conversion.

svn path=/trunk/; revision=41900
2012-04-03 01:49:27 +00:00
Guy Harris b6ff142f60 Add a presence flag field to the packet information structure filled in
by Wiretap, to indicate whether certain fields in that structure
actually have data in them.

Use the "time stamp present" flag to omit showing time stamp information
for packets (and "packets") that don't have time stamps; don't bother
working very hard to "fake" a time stamp for data files.

Use the "interface ID present" flag to omit the interface ID for packets
that don't have an interface ID.

We don't use the "captured length, separate from packet length, present"
flag to omit the captured length; that flag might be present but equal
to the packet length, and if you want to know if a packet was cut short
by a snapshot length, comparing the values would be the way to do that.

More work is needed to have wiretap/pcapng.c properly report the flags,
e.g. reporting no time stamp being present for a Simple Packet Block.

svn path=/trunk/; revision=41185
2012-02-25 23:24:34 +00:00
Bill Meier 727046dc35 Tighten up format string used for date/time parse;
Use 'static' in function definitions to match function declarations;
Do minor reformatting.

svn path=/trunk/; revision=40305
2011-12-27 18:54:32 +00:00
Martin Mathieson c5cfc416a1 Skip extra info if present (IP with LTE PDCP threading info).
svn path=/trunk/; revision=38983
2011-09-13 12:14:24 +00:00
Guy Harris e9fc1b72aa Use guint8 rather than guchar for raw octets and pointers to arrays of
same.

Add to wiretap/pcap-common.c a routine to fill in the pseudo-header for
ATM (by looking at the VPI, VCI, and packet data, and guessing) and
Ethernet (setting the FCS length appropriately).  Use it for both pcap
and pcap-ng files.

svn path=/trunk/; revision=38840
2011-09-01 09:43:10 +00:00
Martin Mathieson fe28dc854a Speed up (slightly) reading of long text lines.
svn path=/trunk/; revision=37989
2011-07-12 10:49:22 +00:00
Martin Mathieson ece553d8d0 Change the way we scan past characters before the direction indicator.
svn path=/trunk/; revision=37940
2011-07-08 16:08:32 +00:00
Guy Harris 2b8ebd389b "This file format can't be written to a pipe" and "this file format
can't be saved in compress form" are both equivalent to "this file file
format requires seeking when writing it".  Change the "can compress"
Boolean in the file format table to "writing requires seeking", give all
the entries the proper value, and do the checks for attempting to write
a file format to a pipe or write it in compressed format to common code.

This means we don't need to pass the "can't seek" flag to the dump open
routines.

svn path=/trunk/; revision=36575
2011-04-12 00:44:44 +00:00
Martin Mathieson f558138026 Avoid having large buffers on the stack (as noted in VS Code Analyzer warnings).
svn path=/trunk/; revision=36202
2011-03-16 22:53:41 +00:00
Gerald Combs 8af7080001 Fix errors found by the Visual C++ analyzer.
svn path=/trunk/; revision=35954
2011-02-16 00:44:12 +00:00
Martin Mathieson 7a0f12239c Support FP_R8 over ATM, plus a couple of other tidying-ups.
svn path=/trunk/; revision=35373
2011-01-05 14:36:48 +00:00
Guy Harris e81797342e Make it a bit clearer what's going on - ASCII '0' has the decimal value
48, and that's converting '0'-'9' to 0-9.

svn path=/trunk/; revision=34326
2010-10-02 08:04:15 +00:00
Martin Mathieson b3f57106d4 It makes (slightly) more sense for comments to be "sent" by the context than "received".
svn path=/trunk/; revision=33552
2010-07-16 13:52:18 +00:00
Guy Harris 194cfe2d2f Don't use fwrite directly when writing a dump file; call it through
wtap_dump_file_write().  Replace various wrappers around fwrite() with
wtap_dump_file_write(), or at least make the wrappers call
wtap_dump_file_write().

svn path=/trunk/; revision=33116
2010-06-06 22:19:30 +00:00
Guy Harris 17392a865a Move the definitions of all the private data structures out of
wtap-int.h, and change the unions of pointers to those private data
structures into just void *'s.

Have the generic wtap close routine free up the private data, rather
than the type-specific close routine, just as the wtap_dumper close
routine does for its private data.  Get rid of close routines that don't
do anything any more.

svn path=/trunk/; revision=32015
2010-02-26 07:59:54 +00:00
Stig Bjørlykke 7d26a109cd Removed an unused assignment.
svn path=/trunk/; revision=30892
2009-11-09 14:24:02 +00:00
Guy Harris ce6bcff318 Note in comments that the dct2000_file_externals_t structure is used for
more than just dumping, indicate what stuff is used for dumping, and
note that it probably shouldn't be used for that (one should not have to
have a Catapult 2000 input file in order to write a Catapult 2000 output
file).

svn path=/trunk/; revision=30719
2009-10-26 19:20:50 +00:00
Martin Mathieson 5c33e9f525 Try to fix win64 buildbot. Both fgets() and gzgets() take an int for the length.
svn path=/trunk/; revision=30709
2009-10-26 13:38:23 +00:00
Martin Mathieson bb78c91111 Get rid of capture.catapult_dct2000, move start time of capture into file_externals instead.
Thanks Guy for helping to simplify this file!

svn path=/trunk/; revision=30708
2009-10-26 12:17:11 +00:00
Guy Harris 524d9c2b8b Global variables considered harmful - we don't want to rule out two
threads reading from two different wtap_t's in different threads.

file_externals_table considered unnecessary - a wtap_t has a member
specifically intended to point to private data.

Clean up indentation.

svn path=/trunk/; revision=30707
2009-10-26 09:36:53 +00:00
Martin Mathieson 64e4ee759d Formatting changes only.
svn path=/trunk/; revision=30704
2009-10-26 07:57:38 +00:00
Anders Broman d52f502b66 Fix:
Error: Found prohibited APIs in catapult_dct2000.c: sprintf,strcpy

svn path=/trunk/; revision=30701
2009-10-26 05:50:05 +00:00
Martin Mathieson 6dfb4d1f71 Add support for showing/filtering/resaving logged LTE strings.
svn path=/trunk/; revision=30700
2009-10-26 00:04:27 +00:00
Guy Harris b2408ca1a3 Squelch warnings - none of those strings will be so long that the
difference between an int and a gsize/size_t matters.

svn path=/trunk/; revision=27637
2009-03-07 05:11:15 +00:00
Martin Mathieson 887b68c64e Some context names now do include '-', so allow it.
svn path=/trunk/; revision=27562
2009-02-27 11:18:15 +00:00
Martin Mathieson 89c72aba05 Fix a bug where a space character wasn't being written back to save files.
svn path=/trunk/; revision=27198
2009-01-08 16:29:15 +00:00
Martin Mathieson fb430597b7 Allow really long lines.
svn path=/trunk/; revision=26429
2008-10-13 16:24:42 +00:00
Martin Mathieson c6dc7911df Fix subtle bugs introduced by recent change to safer APIs.
I was counting the length without the terminating NULL, and didn't want one to be written to the string and copied into the file.








svn path=/trunk/; revision=25383
2008-05-27 10:24:25 +00:00
Martin Mathieson ec60070b2c Enable FP R7 support.
This commit adds a header file needed by my PDCP dissector.
(not yet ready to be added).

svn path=/trunk/; revision=25326
2008-05-20 10:08:28 +00:00
Martin Mathieson 723f40845e Use g_strlcpy() rather than strcpy(), strncpy().
svn path=/trunk/; revision=25256
2008-05-08 09:17:04 +00:00
Martin Mathieson 2f5189f014 Allocate size of data pointed to (64 bits) rather than size of pointer to data...
svn path=/trunk/; revision=24765
2008-04-04 04:44:59 +00:00
Stig Bjørlykke 47d744b59d More rewrite of prohibited APIs (sprintf, strcpy, strcat).
svn path=/trunk/; revision=24258
2008-02-03 15:38:20 +00:00
Martin Mathieson 6823dd10fa Some comments and formatting.
svn path=/trunk/; revision=23473
2007-11-16 22:56:56 +00:00
Bill Meier 90160079c0 Fix whitespace of newly added lines to match rest of file
svn path=/trunk/; revision=22965
2007-09-25 20:34:06 +00:00
Bill Meier 151a51d956 Add error checking for fwrites; replacement for one of patches provided in bug #1864
svn path=/trunk/; revision=22964
2007-09-25 19:59:50 +00:00
Martin Mathieson 0a5437dc33 Add "igmp" -> "ip" mapping.
svn path=/trunk/; revision=22430
2007-07-31 13:53:45 +00:00
Martin Mathieson 2cf2fed06a More space needed for wimax frames.
svn path=/trunk/; revision=22395
2007-07-24 15:15:02 +00:00
Guy Harris 90ab61d9f7 Fix another cast of the argument to a ctype.h macro.
svn path=/trunk/; revision=22305
2007-07-14 00:29:03 +00:00
Guy Harris 3ccd39aec7 Fix more ctype.h calls - casting to "int" suppresses the warning, but
doesn't fix the problem, as the sign extension is still done; you have
to cast to "guchar".

svn path=/trunk/; revision=22304
2007-07-13 23:20:02 +00:00
Guy Harris 7e95109118 "isdigit()" doesn't need to be cast to "int".
Its argument, however, needs to be cast to "guchar", so that if the
high-order bit is set, it doesn't get sign-extended.

svn path=/trunk/; revision=22303
2007-07-13 23:18:04 +00:00
Martin Mathieson c4ebb075e7 Worked out properly the silly way aal header is encoded!
svn path=/trunk/; revision=22300
2007-07-13 15:51:34 +00:00
Martin Mathieson 1d477c802c - Map gre -> IP
- Change a value string value to help an easily-frightened colleague

svn path=/trunk/; revision=22224
2007-06-29 16:16:57 +00:00
Martin Mathieson 1b8fccbc9d Don't create & leak a hash table during unsuccessful open()
svn path=/trunk/; revision=22150
2007-06-21 17:30:13 +00:00
Martin Mathieson 2d6388599a Work with isdn_l2.
svn path=/trunk/; revision=21986
2007-05-29 14:38:40 +00:00
Guy Harris 267a2cbf02 Print a gint64 the right way.
svn path=/trunk/; revision=21976
2007-05-29 06:16:24 +00:00
Sebastien Tandel 76729e5d0f From David Howells :
Fix compilation failures when building wireshark-0.99.6-SVN-21916 on an
x86_64-unknown-linux-gnu target with gcc version 4.1.2 20070403 (Red Hat
4.1.2-8).

The failures fall into two categories:
  (1) Casts between pointers and 32-bit integers without an intermediary cast
via 'long' or 'unsigned long'.  This results in a compiler warning complaining
about casts between a pointer and an integer of a different size.
  (2) Passing values to "%lld" or similar printf-style format options that the
compiler thinks are a different size.  Such values need to be cast to 'long
long' or 'unsigned long long'.

svn path=/trunk/; revision=21975
2007-05-29 02:43:18 +00:00
Jörg Mayer b7755fb4e4 Fix some (incorrect but unforseeable)
"might be used uninitialized" warnings.

svn path=/trunk/; revision=21862
2007-05-21 16:16:18 +00:00
Martin Mathieson 47a9c22ad4 mipv6 -> ip
svn path=/trunk/; revision=21741
2007-05-10 15:29:38 +00:00
Stephen Fisher bede68648b Fix some warnings on the Solaris buildbot
svn path=/trunk/; revision=21147
2007-03-23 05:50:31 +00:00
Martin Mathieson 997e5415f9 Add separate union entries to fvalue.value for signed and unsigned
32-bit numbers.  Separate signed and unsigned accessors have been
added and used where appropriate.

Definitely not for 0.99.5.

svn path=/trunk/; revision=20472
2007-01-18 11:02:26 +00:00
Martin Mathieson b9f69234ad Check in trivial changes before generating a big diff...
svn path=/trunk/; revision=20304
2007-01-04 13:25:25 +00:00
Ulf Lamping a339636b85 both recent fixes of warnings don't compile on Win32, inttypes.h is not available and PRId64 is not defined in the config.h.win32.
As discussed in a seperate thread the PRId64 should not be required.

svn path=/trunk/; revision=19925
2006-11-18 03:37:34 +00:00
Martin Mathieson 7712c21de5 Try to squash 2 more warnings seen on buildot
svn path=/trunk/; revision=19921
2006-11-17 16:33:43 +00:00
Martin Mathieson 2d58914f77 Fix possible build error + warnings seen on buildbot
svn path=/trunk/; revision=19892
2006-11-14 13:45:35 +00:00
Martin Mathieson 8e9a8430d8 - Use 64-bit indexes into file for packet locations (was previously casting index to and from void*) - this should allow very large files to be used
- The characters between the timestamp and start of data are almost always " l ", optimise memory usage in this case
- Rename hash table for clarity

svn path=/trunk/; revision=19891
2006-11-14 12:06:11 +00:00
Ulf Lamping 59d6c8ea33 change all file offsets from long to gint64 so we can - theoretically - handle files > 2GB correct.
Please distclean Win32 builds!

svn path=/trunk/; revision=19814
2006-11-05 22:46:44 +00:00
Martin Mathieson d55c609c55 - Fix problems with parsing sctpprim headers
- Add dissection of nbap (as encap or inside sctp primitive)

svn path=/trunk/; revision=19664
2006-10-23 17:22:20 +00:00
Martin Mathieson 3474ea868c - Add special case for reading strange encoding of ATM CID field
- Indicate direction of DCH Data in info column
- Assume EDCH payload CRC if 2 bytes are left over (previous test was broken)

svn path=/trunk/; revision=19405
2006-10-03 14:21:07 +00:00
Martin Mathieson 2e1177c328 For DCT2000, show better transport info:
- for FP over AAL2, add CID to AAL tree
- for IPPRIM protocols, show IPV4 addresses in src & dst columns

svn path=/trunk/; revision=19156
2006-09-05 16:05:23 +00:00
Martin Mathieson 76192b1c6c Partial implementation of UMTS FP. Currently only works with Catapult DCT2000 format files, as need extra information about packet when decoding. There are a few TODOs (notably E-DCH channels), but the current version gives OK coverage.
svn path=/trunk/; revision=19130
2006-09-04 11:04:14 +00:00
Martin Mathieson 4842aeab96 Wasn't allocating big enough frame buffer!
svn path=/trunk/; revision=18848
2006-08-07 17:08:11 +00:00
Martin Mathieson 229e2dfbde - Removes last traces of 'board ports only' preference (other than marking it as an obselete preference)
- Add a preference to try to find messages within sctp primitive messages (tries renaming of known mismatches)
- Add outhdr to stub protocol (getting ready for IuB FP)

svn path=/trunk/; revision=18818
2006-08-02 09:30:28 +00:00
Anders Broman 974fd085dc From Martin Mathieson:
Skips variant string bytes of dct2000 header when finding real packet 
data to dump.

svn path=/trunk/; revision=18458
2006-06-14 05:39:52 +00:00
Anders Broman 81bda938ff From Martin Mathieson:
This patch:
- treats the variant field as a variable-length string field.  This is 
needed for some of the more complicated protocols where the variant 
number of the embedded protocol is also represented

- the patch to Makefile.am was not applied from 
http://www.wireshark.org/lists/wireshark-dev/200606/msg00009.html

svn path=/trunk/; revision=18427
2006-06-11 08:26:55 +00:00
Anders Broman 1814821adc From Martin Mathieson:
- Many DCT2000 protocols can be embedded within an IP primitive 
message.  Add a heuristic to see if we can find the protocol payload 
within in IP primitive message, and look for an ethereal dissector 
matching the DCT2000 protocol name (this is useful for simple protocol 
testing where no physical links are involved)
- Make some more of these protocols (diameter, http, mgcp) findable by name
- Adds protocol 'variant' number to stub and dissector
- Break the duplicated writing of the stub header out into a separate 
function

svn path=/trunk/; revision=18212
2006-05-23 05:48:00 +00:00
Guy Harris 031773273c Squelch some compiler warnings (a time_t might be an int or a long).
svn path=/trunk/; revision=18188
2006-05-19 08:18:22 +00:00
Anders Broman de3b8195c5 From Martin Mathieson:
This patch should hopefully remove any possible buffer overflows in 
parse_line() as reported by the current Coverity scan.  I'm not sure 
that the error it currently reports is valid (I think its confused by 
supposing that a condition that is being tested can be true, whereas it 
can't...), but this patch fixes a number of potential problems remaining 
in the function.

svn path=/trunk/; revision=17979
2006-04-24 19:08:52 +00:00
Anders Broman 8dd0e70722 Fix CID: 150
svn path=/trunk/; revision=17968
2006-04-23 18:05:23 +00:00
Anders Broman b99bf25795 From Martin Mathieson:
Fix coverity bugs.

svn path=/trunk/; revision=17909
2006-04-19 18:57:25 +00:00
Anders Broman 375ba77274 From Martin Mathieson:
These patches:
- fix the bounds errors reported by coverity in bug 879
- fix a couple of other potential bounds errors (length checking 1st & 2nd lines in file)
- reorder catapult_dct2000_phdr so that normal protocol pseudo-header info is at the start.  This means that the stub dissector can avoid the nasty
(overlapped) memcpy
- a little whitespace fixing

svn path=/trunk/; revision=17886
2006-04-17 18:46:14 +00:00
Anders Broman 518732d903 From Martin Mathieson:
Please find a patch to catapult_dct2000.c:
- doesn't use g_hash_table_new_full(), which is missing from earlier versions of glib
- fixed a couple of memory leaks
- hopefully cast away a few warnings I saw on the fedora and solaris buildbot logs


svn path=/trunk/; revision=17867
2006-04-15 15:16:26 +00:00
Anders Broman 69ea88e3f7 SVN properties...
svn path=/trunk/; revision=17863
2006-04-14 13:08:41 +00:00
Anders Broman af554c2f75 From Martin Mathieson:
patch and new files provide support for Catapult DCT2000 
.out files to wiretap and ethereal.

This wiretap support (catapult_dct2000.c+h) appends a short header to 
each packet giving some context, and a corresponding ethereal dissector 
(packet-catapult-dct2000.c) parses this before passing the real payload 
onto an existing ethereal dissector (for ethernet, ip, lapd, ppp, 
frame-relay,...).

For now, there is only support for saving dct2000 files in their own 
format, although I may add support for converting between dct2000 and 
libpcap later.

updated version of these files and patch, now with support 
for MTP2.  Olivier's trace used the ANSI variant - the MTP2 and MTP3 
decode fine with the right preferences set (although the ISUP dissector 
reports a reserved/retired message type).

Witha a change to NOT to declare gboolean catapult_dct2000_board_ports_only;
as extern as MSVC choked on it.

svn path=/trunk/; revision=17862
2006-04-14 12:41:06 +00:00