That's what we do in, for example, dumpcap.
Also, use g_strdup_printf() for the strings, rather than using
fixed-length arrays.
Change-Id: I36ad201e3eda903ef3a089bafb09df0581efe512
Reviewed-on: https://code.wireshark.org/review/6284
Reviewed-by: Guy Harris <guy@alum.mit.edu>
It got removed by the automatic include cleaning scripts
Also add it to text2pcap.c as it is used to get the version when writing a pcapng file
Change-Id: I3d56985fa1d04bcb066fe015a588c24cf3cb7267
Reviewed-on: https://code.wireshark.org/review/6248
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Have them start the string with "Compiled" or "Running on", and return
the string when done.
Change-Id: Ic4d290c963621fa0385dc5aab766fd4ad31d3810
Reviewed-on: https://code.wireshark.org/review/6155
Reviewed-by: Guy Harris <guy@alum.mit.edu>
We support three types of platforms:
1) UN*Xes that have both getopt() and getopt_long();
2) UN*Xes that have getopt() but not getopt_long();
3) Windows, which has neither.
Checking for getopt_long() lets us distinguish between 1) and 2) and
build getopt_long() for them.
Change-Id: Iaf0f142f9bebaa2eed2128d544ec9786711def45
Reviewed-on: https://code.wireshark.org/review/6045
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Wireshark UI files into a single one in wsutil.
Change-Id: I0a64f0cc8106bd681bd185289c36272c4c43baad
Reviewed-on: https://code.wireshark.org/review/6026
Reviewed-by: Stephen Fisher <sfisher@sdf.org>
Pcap-ng files have supported variable time stamp resolutions since Day
One, and any code that reads those files but can't handle
nanosecond-resolution time stamps is broken.
Pcap files got a separate magic number for nanosecond-resolution files
relatively recently, and not all code that reads pcap files handles that
magic number, so we don't support it for pcap files.
Based on https://code.wireshark.org/review/#/c/4304/ from Peter Hatina.
Change-Id: I4f4e3b5ca0ba4fe9394765edb54bb77a4a776237
Reviewed-on: https://code.wireshark.org/review/4358
Reviewed-by: Guy Harris <guy@alum.mit.edu>
text2pcap.c uses pcapio.c to write pcap files, so it doesn't itself need
to know what those files look like.
Change-Id: I013d0c094c27515af91f352b565bc9a8bad3e842
Reviewed-on: https://code.wireshark.org/review/3927
Reviewed-by: Guy Harris <guy@alum.mit.edu>
don't pick up the in-tree copy.
Change-Id: I7ec473876cdba1a025c52362d7f6adc62d24ce71
Reviewed-on: https://code.wireshark.org/review/3798
Petri-Dish: Graham Bloice <graham.bloice@trihedral.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Roland Knall <rknall@gmail.com>
Reviewed-by: Graham Bloice <graham.bloice@trihedral.com>
With autotools, CMake, and nmake, if we have a function, #define
HAVE_{function_name_in_all_caps}, otherwise don't #define it.
If we provide our own version of a function in libwsutil, make sure we
have a header that declares it, and *ONLY* include that header if
HAVE_{function_name_in_all_caps} is *NOT* defined, so that we don't have
the system declaration and our declaration colliding.
Check for inet_aton, strncasecmp, and strptime with CMake, just as we do
with autotools.
Simplify the addition of {function_name_in_all_caps}_LO to libwsutil in
autotools.
Change-Id: Id5be5c73f79f81919a3a865324e400eca7b88889
Reviewed-on: https://code.wireshark.org/review/2903
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Have --version print the version number, the copyright information, the
"compiled with" information, the "running on/with" information, and the
compiler information.
Have --help print the version number, a one-line summary of what the
program does, a reference to http://www.wireshark.org for more
information, a Usage: line, and a list of command-line options.
This means programs doing that don't need to include version.h; that's
left up to get_ws_vcs_version_info() to do.
Change-Id: Idac641bc10e4dfd04c9914d379b3a3e0cc5ca8cb
Reviewed-on: https://code.wireshark.org/review/2794
Reviewed-by: Guy Harris <guy@alum.mit.edu>
In some cases "-v" was already used so "-V" is the option.
Note that the version information in these utilities is much shorter than what
is presented by the big programs.
As requested by https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5804
Bug: 5804
Change-Id: I35db35a4eace2797afd895f9be7322ef39928480
Reviewed-on: https://code.wireshark.org/review/2489
Reviewed-by: Guy Harris <guy@alum.mit.edu>
and a direction indicator added to the start of each packet in the text file,
"I" or "O", then the ip source and destination addresses and udp, tcp and sctp
ports are swapped for an inbound packet.
Tcp sequence numbers and ack sequence numbers are updated accordingly.
Change-Id: Iec2c0fd68d80aad8842b7513fdd30bae6806b96a
Reviewed-on: https://code.wireshark.org/review/801
Reviewed-by: Graham Bloice <graham.bloice@trihedral.com>
Tested-by: Graham Bloice <graham.bloice@trihedral.com>
Reviewed-by: Michael Mann <mmann78@netscape.net>
(Using sed : sed -i '/^ \* \$Id\$/,+1 d')
Fix manually some typo (in export_object_dicom.c and crc16-plain.c)
Change-Id: I4c1ae68d1c4afeace8cb195b53c715cf9e1227a8
Reviewed-on: https://code.wireshark.org/review/497
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Rename "SVNPATH" to "GITBRANCH" since that seems more appropriate.
Rename "svnversion.h" to "version.h" as Evan suggested. Update some
URLs. In make-version.pl, make sure we don't set an improper upstream
branch name. Use the number of commits + short hash from `git describe`
for package names by default.
Change-Id: I922bba8d83eabdf49284a119f55b4076bc469b96
Reviewed-on: https://code.wireshark.org/review/139
Reviewed-by: Gerald Combs <gerald@wireshark.org>
(not that it makes any difference in this case).
(I note that in https://tools.ietf.org/id/draft-ietf-tsvwg-sctpcsum-01.txt
the definition was 'unsigned long crc_c[256] = {0x...L, ...} presumably from
the days when LP32 was still in use.
svn path=/trunk/; revision=54308
"libpcap_xxx".
Rename the low-level write routine in pcapio.c to write_to_file(), as
it's used for both pcap and pcap-ng files.
svn path=/trunk/; revision=52275
make libpcap_write_to_file() static;
don't pass it as an argument to write routines, just have them
call it directly;
make the handle argument a FILE *.
Make the data length argument to libpcap_write_to_file() a size_t, as
that's what, for example, fwrite() takes as a size argument.
svn path=/trunk/; revision=52274
http://www.tcpdump.org/linktypes.html for the details, rather than to
some particular OS's net/bpf.h (assuming it even has one), and speak of
it as a LINKTYPE_ value rather than a DLT_ value (in those cases where
the LINKTYPE_ value for a given link-layer header type is different from
the DLT_ value, it's the LINKTYPE_ value that should be passed to
text2pcap, as it's what gets written to the file, and those should be
the always-platform-independent LINKTYPE_ values rather than the
possibly-platform-dependent DLT_ values).
svn path=/trunk/; revision=51008
is running" mutex. Have the NSIS installer check for this mutex and ask
the user to close Wireshark if it's found. While not perfect this makes
the WinSparkle update process much less annoying.
svn path=/trunk/; revision=47758
-> Wrap all text at column 80
-> Reference http://www.tcpdump.org/linktypes.html instead of net/bpf.h
-> Other misc. wording changes.
svn path=/trunk/; revision=47234
Cast away some implicit 64-bit-to-32-bit conversion errors due to use of
sizeof.
Cast away some implicit 64-bit-to-32-bit conversion errors due to use of
strtol() and strtoul().
Change some data types to avoid those implicit conversion warnings.
When assigning a constant to a float, make sure the constant isn't a
double, by appending "f" to the constant.
Constify a bunch of variables, parameters, and return values to
eliminate warnings due to strings being given const qualifiers. Cast
away those warnings in some cases where an API we don't control forces
us to do so.
Enable a bunch of additional warnings by default. Note why at least
some of the other warnings aren't enabled.
randpkt.c and text2pcap.c are used to build programs, so they don't need
to be in EXTRA_DIST.
If the user specifies --enable-warnings-as-errors, add -Werror *even if
the user specified --enable-extra-gcc-flags; assume they know what
they're doing and are willing to have the compile fail due to the extra
GCC warnings being treated as errors.
svn path=/trunk/; revision=46748
an I or O indicating the direction of the packet. This
will be stored in the generated file if the pcap-ng
format is used.
Thanks to Jaap for suggesting to integrate this into
the preamble!
svn path=/trunk/; revision=46744
* it is off by default
* not documented
* makes text2pcap to coredump when used
* its goal is not clear (to me).
I'm willing to reimplement it under a different option name
if I understand what it should do. Then I can fix and test it.
svn path=/trunk/; revision=46741
Leave pcap the default file format for now. The is should be reconsidered
before the next release as it might make sense to use pcapgn as
the default as we do for dumpcap. (We can use the -P option to allow
switching back to pcap).
svn path=/trunk/; revision=46691
and r39501:
Setting _XOPEN_SOURCE to 600 is only allowed on Solaris 10 if the compiler is
set to C99 mode. Conversely (and as reported in the bug), simply defining it
(but with no value) is not allowed if the compiler *is* compiling to C99.
So, don't define _XOPEN_SOURCE at all on Solaris. Keep defining it as 600 on
other OS's as (also) requested in that bug.
Maybe there's a cleaner way to do this but all of this is a "trickery" mess
anyway...
svn path=/trunk/; revision=41182
Solaris doesn't like _XOPEN_SOURCE being defined but with no value, at least
when being compiled in C99-mode. So set it to 600 (XPG6); hopefully this
won't break any other systems.
svn path=/trunk/; revision=39501
text2pcap.c: In function ‘parse_token’:
text2pcap.c:1076: warning: cast from pointer to integer of different size
text2pcap.c:1076: warning: cast from pointer to integer of different size
svn path=/trunk/; revision=38702
getopt() can/should normally be found in unistd.h, so:
- When testing for getopt(), define that we HAVE_GETOPT instead of
HAVE_GETOPT_H (to avoid confusion).
- Don't attempt to include getopt.h: not all OS's have it (for example,
Solaris 9 does not).
- (All the places which need getopt already include unistd.h (if we have it).)
If this breaks things on some OS, we might need (a real) HAVE_GETOPT_H check.
svn path=/trunk/; revision=38437
"[...] Source MAC must not be a group address: IEEE 802.3-2002, Section 3.2.3(b)"
Specifically: use 0a:01:01:01:01:01 and 0a:02:02:02;02:02 (and dummy IP addresses
10.1.1.1 and 10.2.2.2).
svn path=/trunk/; revision=34571
This patch adds a #include "svnversion.h" statement to the capinfos.c and
text2pcap.c files so that their usage() functions will display the SVNVERSION
and SVNPATH infos (if defined).
See Bug #4360 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4360)
svn path=/trunk/; revision=31382
about how dereferencing a type-punned pointer will break strict-aliasing rules
when calling localtime().
Make ts_sec in text2pcap's definition of a PCAP record header unsigned to match
that in libpcap.h .
Cast the time_t into guint32 as necessary.
svn path=/trunk/; revision=26242
libwireshark (and the plugins using those functions) do not depend on
wiretap on Windows.
While doing that, rename the eth_* functions to ws_*.
svn path=/trunk/; revision=25354
Fix for http://bugs.wireshark.org/bugzilla/show_bug.cgi?id=2183
Strptime function is not properly included. It needs __USE_XOPEN macro, but it
is defined in wrong place. It must be defined before _any_ include file.
Otherwise I get "implicit declaration of function `strptime`" (gcc 4.3.0).
svn path=/trunk/; revision=24044
system. Just call it "usage()".
Also, it doesn't use the "progname" argument - it doesn't need to, it's
text2pcap-specific, and it prefers to call it "Text2pcap" anyway (and,
besides, argv[0] might well be a pathname). Get rid of that argument.
Fix some white space.
svn path=/trunk/; revision=17431
they have LF at the end of the line on UN*X and CR/LF on Windows;
hopefully this means that if a CR/LF version is checked in on Windows,
the CRs will be stripped so that they show up only when checked out on
Windows, not on UN*X.
svn path=/trunk/; revision=11400
- added option -m to set maximum packet length
- added option -T to generate TCP headers
- UDP headers now have a correct checksum
- default capture timestamp is current time, usec field counts packets
- UDP and TCP headers are mutually exclusive
- changed etherenet addresses, now sends from 1 -> 2 ....
svn path=/trunk/; revision=7571
"unsigned long" is an unsigned *64-bit* integer on many platforms.
While we're at it, use "guint8" rather than "unsigned char" for
"unsigned 8-bit integer", and use "guint16" rather than "unsigned short"
for "unsigned 16-bit integer".
Make the seconds field of a libpcap time stamp signed, as it's supposed
to be.
svn path=/trunk/; revision=6445
equivalents for the toplevel directory. The removal of winsock2.h will
hopefully not cause any problems under MSVC++, as those files using
struct timeval still include wtap.h, which still includes winsock2.h.
svn path=/trunk/; revision=5932
have to modify lex/flex's input stream, not some private "FILE *".
Fix up the usage message to:
mention the "-h" flag;
not mention the non-existent "-w" flag;
fit within 80 columns.
Add "-h" to the list of options in the "getopt()" call, as there's code
to support it, and remove "-r" and "-w", as there wasn't any code to
support them.
svn path=/trunk/; revision=5899
<packet32.h> includes <winsock2.h>; we include that rather than
<winsock.h>, to avoid errors due to conflicting declarations in
<winsock.h> and <winsock2.h>.
svn path=/trunk/; revision=5742
- support for current SCTP checksum
- fix a bug for the -S parameter
- fix a bug in the displayed output for the TSN and PPI.
svn path=/trunk/; revision=5169
The -S option has been changed such that the payload protocol
identifier can be specified instead of the verification tag.
The error messages for -s -S have been corrected.
Update the text2pcap man page to reflect the "-S" change.
svn path=/trunk/; revision=5150
X/Open specs *not* to be defined, so we also have to define
__EXTENSIONS__.
XXX - can we just define __USE_XOPEN, and not define _XOPEN_SOURCE? Is
that sufficient to get "strptime()" declared on all platforms?
svn path=/trunk/; revision=4629
#ifndef _XOPEN_SOURCE
#define _XOPEN_SOURCE 500
#endif
#define __USE_XOPEN
#include <time.h>
to get strptime() declared in time.h on various systems. I hope
this helps more than it hurts.
svn path=/trunk/; revision=4624
put a CRC32C checksum into the header of SCTP packets;
add a new "-S" option that is similar to "-s" but that also
includes the DATA chunk header, for input files that contain
only SCTP payloads.
svn path=/trunk/; revision=4580
merely mean that we mistakenly treated stuff from the text-dump part of
the file we're reading as if it were hex byte data (e.g., if the first
non-white-space part of the text dump was a 2-digit hex number). If the
offset we read is less than the expected next offset, assume that's the
problem, and throw away enough extra bytes to make the offset we read
the expected next offset.
"getopt()" will never, for any option that the "getopt()" string says
takes an argument, leave "optarg" null; if no argument was specified,
it'll return an error, so there's no need to check for a null "optarg".
svn path=/trunk/; revision=4250
* gcc 3.0 warning fixes:
- text2pcap.c: The number of characters to scan should probably not be 0
- wiretap/csids.c: using preincrement on a variable used on both
sides of an assignment might be undefined by the C99(?) standard
* turn on additional warnings for epan and wiretap too
- epan/configure.in
- wiretap/configure.in
* Fix some warnings (missing includes, signed/unsigned, missing
initializers) found by turning on the warnings
- all other files :-)
svn path=/trunk/; revision=3709
Fix text2pcap.c so that it can be compiled with Microsoft Visual C++
6.0:
protect some includes with #ifdefs, as not all the header files
in question exist in the MSVC++ build environment;
include <winsock.h> if we have it, to declare "ntohs()" and the
like;
include "getopt.h" if we need it, to declare stuff for
"getopt()";
include "config.h" if we have it, so we know whether the header
files in question exist or are needed;
rename "BYTE" to "READ_BYTE", as <winsock.h> defines BYTE as
well, and that definition causes a conflict;
get rid of references to "__FUNCTION__", as MSVC++ doesn't
define it (I suspect at least some UNIX compilers don't define
it, either).
svn path=/trunk/; revision=3428
files. See text2pcap.1 (built from doc/text2pcap.pod) for details.
Changed 'tethereal -x' output to match hex dump format of text2pcap,
Ethereal and others.
svn path=/trunk/; revision=3421