1988 called, they want their lack of a C standard back. We don't need
to check whether we have stdarg.h, stddef.h, stdlib.h, or string.h, as
they're specified by C89 and I don't think there are any platforms we
care about that don't have a C89 environment in which we could be built.
Change-Id: I447551181284fab7722354b62774625ed8ee94bc
Reviewed-on: https://code.wireshark.org/review/7110
Petri-Dish: Guy Harris <guy@alum.mit.edu>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Remove emem's 8-byte-memory-alignment configure check as well as references
to all the environment variables emem used.
Change-Id: I897aec9e9c68e064454561e7a9f066b18892ec66
Reviewed-on: https://code.wireshark.org/review/6950
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
They've been deprecated for a very long time. Replace them with
getaddrinfo. Note that we might not want to do synchronous name
resolution at all.
Add HAVE_GETADDRINFO to the KfW win-mac.h collision list.
Change-Id: If59ce8a038776eadd6cd1794ed0e2dad8bf8a22c
Reviewed-on: https://code.wireshark.org/review/6958
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
First, it appears some packagers actually ship a pkg-config file for Lua.
Try to use it. (Unfortunately the package name varies so we have to try
several package names.)
If that fails, try to find Lua directly, accounting for the various naming
conventions we've seen.
Bug: 10475
Bug: 10572
Change-Id: I82e789c466a488dc12431cdd90c49b4c1052414a
Reviewed-on: https://code.wireshark.org/review/6756
Reviewed-by: Jeff Morriss <jeff.morriss.ws@gmail.com>
subdir-objects will be enabled unconditionally in automake-2.0 and
automake-1.14 gives us warnings about the upcoming change.
Rework I1b3c517f08d3c752ee03cb89482ee4951ceb5bf3 (and
I416f2d3611fb61659b9a7f7285e5f54a354fbe7d) to give wslua/make-reg.pl the directory of
the source files rather than the full path to each.
In echld don't use sources in the top-level directory in libechld: it breaks
distclean with subdir-objects turned on.
Bug: 10648
Change-Id: I404b074f1558376064c35d8fc96aea7e3d042a76
Reviewed-on: https://code.wireshark.org/review/6697
Petri-Dish: Jeff Morriss <jeff.morriss.ws@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Jeff Morriss <jeff.morriss.ws@gmail.com>
(yet) use libcodec.
Also, there's no need to explicitly call pkg-config to get SBC's
CFLAGS and LIBS: PKG_CHECK_MODULES does that for you.
Change-Id: Ia7aa84bb81b8223773661ae2dc663731acaf6c6b
Reviewed-on: https://code.wireshark.org/review/6700
Petri-Dish: Jeff Morriss <jeff.morriss.ws@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
When checking whether nmmintrin.h works, add -msse4.2 at the *beginning*
of CFLAGS, so that user (or Gentoo build process) settings with
-mno-sse4.2 override it.
Bug: 10792
Change-Id: I1b77c2a092360a86bc7012d29642ff3303b60812
Reviewed-on: https://code.wireshark.org/review/6696
Reviewed-by: Guy Harris <guy@alum.mit.edu>
To check if a payload is json, the library libjsmn has been added to the source tree, with its licence (MIT).
TODO: the libjsmn can be used to extract tokens in the standard dissection other than heurisitic part.
HPFEEDS dissector has also been changed in order to leverage the new json dissector.
Bug: 10834
Change-Id: Ib1df2a699982dbdd2b5418e97edbdb5cbd9c8978
Reviewed-on: https://code.wireshark.org/review/6350
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Reviewed-by: Michael Mann <mmann78@netscape.net>
SBC is optional but build any time if configure script detect it,
so let user choose if it really want it. Default to build with SBC.
Bug: 10794
Change-Id: I1b936c628c9de0179aa3d5da5ac547bd910af8ba
Reviewed-on: https://code.wireshark.org/review/6399
Petri-Dish: Michal Labedzki <michal.labedzki@tieto.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Tested-by: Michal Labedzki <michal.labedzki@tieto.com>
Reviewed-by: Michal Labedzki <michal.labedzki@tieto.com>
reverts commit 89291ad4f3
Protect the new macro with "m4_ifdef" instead.
Add comments to keep the old and the new flags in sync.
Change-Id: I37dea1a5c8d743f5dcf4a4d9ff38ff92200271d0
Reviewed-on: https://code.wireshark.org/review/6343
Reviewed-by: Jörg Mayer <jmayer@loplof.de>
We do that with the autotools; do it with CMake as well.
We could, in theory, handle thosands-grouping ourselves, on all
platforms supporting ANSI C (for which read "all platforms we care
about") by using localeconv()'s thousands_sep and grouping items, but
that's a bit more work.
Fix autotools' comment for that item while we're at it (it checks the
GLib printf routines, not the system printf routines).
Change-Id: I000f0f3b955d9b192ade15e3fabc46d6b48a052e
Reviewed-on: https://code.wireshark.org/review/6317
Reviewed-by: Guy Harris <guy@alum.mit.edu>
If the check for pkg-config fails, quit immediately; don't leave the
failure message for later, as the error message in question might not be
as blunt.
Change-Id: I530e8b62f5adff228ae8ff6f9798ac538c2ad684
Reviewed-on: https://code.wireshark.org/review/6084
Reviewed-by: Guy Harris <guy@alum.mit.edu>
That way:
1) we don't have to worry about the system getopt() and our
getopt_long(), on platforms that have getopt() but not
getopt_long() (Solaris prior to Solaris 10, HP-UX, AIX), not
working well together;
2) if necessary, we can handle long options in the first pass.
Switch to using getopt_long() for the *second* pass for the GTK+ version
of Wireshark.
Use the documented mechanism for resetting the argument parser for the
glibc version of getopt_long(); use the mostly-undocumented-but-at-least-
they-documented-optreset mechanism for the *BSD version.
(We should look into doing only one pass, saving away arguments that
can't fully be processed in the first pass for further processing after
initializing libwireshark.)
Change-Id: Ide5069f1c7c66a5d04acc712551eb201080ce02f
Reviewed-on: https://code.wireshark.org/review/6063
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>
provide their own popcount().
Change-Id: Ic26f3b50cf0bd2b4af0d42e9c27488ebbac1ab33
Reviewed-on: https://code.wireshark.org/review/5998
Petri-Dish: Stephen Fisher <sfisher@sdf.org>
Reviewed-by: Stephen Fisher <sfisher@sdf.org>
Use it to check whether we need -lm for various math functions -
including floorl(). Let it handle adding -lm, rather than having that
in the various _LDADD macros.
Change-Id: Ic5d24ec35e060306351f4981c92e26879e597d81
Reviewed-on: https://code.wireshark.org/review/5908
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Use AC_CHECK_FUNC() for it, define FLOORL_LO to floorl.lo if we *don't*
have it, add FLOORL_LO to the list of items conditionally built in
libwsutil, and include "wsutil/floor.h" only if HAVE_FLOORL is *not*
defined, as that means it's *not* supplied by the platform and thus
*not* declared in <math.h>.
Also, use the standard export stuff in wsutil/floor.h.
Change-Id: Ic24aa69f65f2d15450d8b84b0c2b0c58f38edebe
Reviewed-on: https://code.wireshark.org/review/5901
Reviewed-by: Guy Harris <guy@alum.mit.edu>
(I messed up my local git repo using git branches and stash/stash pops,
sorry for all of the extra commits for one change)
Change-Id: Ib031ae7d57ba9ea4b19fe13121643799e7563046
Reviewed-on: https://code.wireshark.org/review/5893
Reviewed-by: Stephen Fisher <sfisher@sdf.org>
__builtin_floorl() function) for systems which don't provide one.
Change-Id: Ie0140ff195f0eae525c7bd70c7c3e23039fde569
Reviewed-on: https://code.wireshark.org/review/5889
Reviewed-by: Stephen Fisher <sfisher@sdf.org>
Wireshark is the desktop app; if we're not building it (i.e., we're only
building the command-line TShark), we don't need any desktop files.
Change-Id: Id8244b417fd53c9d55b4d77fe3ad748c98868ad7
Reviewed-on: https://code.wireshark.org/review/5615
Reviewed-by: Guy Harris <guy@alum.mit.edu>
It doesn't need it, so don't install those files, or uninstall them, or
suggest running various unnecessary commands after the installation
finishes.
Change-Id: Ieecab22884723670f47f2fc7cc1ac827f48c1967
Reviewed-on: https://code.wireshark.org/review/5614
Reviewed-by: Guy Harris <guy@alum.mit.edu>
allow for unusual paths for Qt's rcc program (FreeBSD ports puts it in
/usr/local/lib/qt5/bin). This matches the existing functionality of the
MOC and UIC variables/programs.
Change-Id: I885d61bce54d9e893e0c2fc496a9ff767a096ae6
Reviewed-on: https://code.wireshark.org/review/5139
Petri-Dish: Stephen Fisher <stephenfisher@centurylink.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Stephen Fisher <stephenfisher@centurylink.net>
Sadly, older versions of autoconf - such as the ones on the OS X buildbots - don't know about AC_CONFIG_MACRO_DIRS.
This reverts commit 89291ad4f3.
Change-Id: Ie4fa71062886f58c7f6014f6b7969921f0b824ae
Reviewed-on: https://code.wireshark.org/review/5116
Reviewed-by: Guy Harris <guy@alum.mit.edu>
libtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([./aclocal-fallback])' to
configure.ac
This is explained in the libtool manual:
"In the future other Autotools will automatically check the contents of
AC_CONFIG_MACRO_DIRS, but at the moment it is more portable to add the macro
directory to ACLOCAL_AMFLAGS in Makefile.am, which is where the tools currently
look. If libtoolize doesn't see AC_CONFIG_MACRO_DIRS, it too will
honour the first -I argument in ACLOCAL_AMFLAGS when
choosing a directory to store libtool configuration macros in. It is perfectly
sensible to use both AC_CONFIG_MACRO_DIRS and ACLOCAL_AMFLAGS, as long as they
are kept in synchronisation."
Change-Id: Ic203b0b5104ea3423cf8c0042b2278e82bcea332
Reviewed-on: https://code.wireshark.org/review/5113
Reviewed-by: Stephen Fisher <stephenfisher@centurylink.net>
According to
https://developer.apple.com/library/mac/documentation/DeveloperTools/Conceptual/cross_development/Configuring/configuring.html#//apple_ref/doc/uid/10000163i-CH1-SW1
the deployment target (minimum target OS version) and SDK version aren't
necessarily the same and, in fact, Apple typically only ship two SDKs
with each Xcode release, so if you want to build for 10.6 with the 10.6
SDK, you have to use a version of Xcode sufficiently old to have the
10.6 SDK.
Here, we instead search for the oldest SDK for an OS whose version is
greater than or equal to the deployment target. Note that this may not
work for X11-based Wireshark, as the X11 libraries can change
incompatibly between releases. (Fortunately, our plan is to kick
X11-based Wireshark to the curb for OS X, removing a large pile of
aggravation for users.)
This also requires some fixes when building Qt and gdk-pixbuf, as some
cases where we were using the minimum OS target version we needed to be
using the SDK version.
For CMake, we're using its native "deployment target" support for OS X,
and hope that it will somehow do the right thing.
Change-Id: Ie8f42c5e4719e7ebdc56b9ba5a330665bee06280
Reviewed-on: https://code.wireshark.org/review/5031
Reviewed-by: Guy Harris <guy@alum.mit.edu>
For the moment there is only the lzxpress compression used by DRS
Bug: 10546
Change-Id: Ifc7e1767934224c0198f0b09caa3efbad979ca1f
Reviewed-on: https://code.wireshark.org/review/4600
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
strncasecmp() has been prohibited for years (in favor of the g_ascii_ version).
Change-Id: I64b7c29099b1c5240757e2026fe3490096a84755
Reviewed-on: https://code.wireshark.org/review/4980
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Jeff Morriss <jeff.morriss.ws@gmail.com>
To populate the Wireless Toolbar menu the NL80211_CMD_GET_WIPHY
command is used. Some network interfaces must use split wiphy dump
feature for this command to function properly. One such example is the
D-Link DWA-160 USB adapter that does not show up when used without.
Make use of split wiphy dump feature whenever kernel supports it
to populate the list of monitor interfaces for the Wireless Toolbar.
Bug: 10564
Change-Id: Idc28e92f91a2488fa48eeb282a0ef1e2bd40a5f0
Reviewed-on: https://code.wireshark.org/review/4611
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
The new icons are patterned after the existing capture icons. They could
probably benefit from some adjustments here and there.
Start moving toward icon names and a directory layout compliant with
freedesktop.org's Icon Naming Specification and Icon Theme
Specification. We aren't fully compliant and might never be but anyone
with exposure to FDO icon themes should at least know where everything
is.
Make Capture Start (x-capture-start) the first icon in the toolbar.
Define the Colorize Packets, Auto Scroll, and zoom icons even though the
Qt UI doesn't use them yet.
Leave the Capture Filter, Display Filter, Coloring Rules, Preferences,
and Help icons off for now. The GTK+ toolbar is overly cluttered and I'm
not sure they're necessary.
Try not to break ui/gtk/toolbar_icons.h.
Remove welcome.qrc. I initially added it in case we needed to overlay
the welcome screen with translucent .pngs but that never happened.
To do:
- Move the old GTK+ icons to their own directory.
- Find a better name for the "toolbar" directory. "stock"?
- Make the toolbar configurable.
Change-Id: Ie07592113d307b8db786aedace672312a870fe38
Reviewed-on: https://code.wireshark.org/review/4182
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Rather than checking for all the "--with" arguments just use the "$have_xxx"
variables.
Don't allow rpmbuild's ./configure to decide to build a GUI just because it's
available: make it build only what was ./configure'd.
Change-Id: I68582b4c13da7b52d56591dce68ac426e9f607f1
Reviewed-on: https://code.wireshark.org/review/3958
Reviewed-by: Jeff Morriss <jeff.morriss.ws@gmail.com>
Make sure the Qt UI is named "Wireshark" and its executable is named
"wireshark" or "wireshark.exe". Make sure the GTK+ UI is named
"Wireshark 1" or "Wireshark (GTK+)" depending on how much the target
audience is likely to care about UI toolkits. Make sure the GTK+
executable is named "wireshark-gtk" or "wireshark-gtk.exe".
It looks like moving to Qt 5.3 (g978faf3) broke the PortableApps
package. It's likely even more broken now.
Autotools out-of-tree builds also broke on Ubuntu 12.02 (automake
1.11.3) at some point. The first attempt to compile in ui/qt returns
"error: source_file.cpp: No such file or directory". The second attempt
works. Out-of-tree builds work fine on Ubuntu 14.04 (automake 1.14.1).
Tested:
- Nmake builds
- NSIS packaging
- CMake builds (Windows, OS X)
- Autotools build and distcheck
- RPM packaging
To do:
- Test Debian packaging
- Fix PortableApps
Change-Id: I66429870e05fd2d6fc901942477959ed6164fce2
Reviewed-on: https://code.wireshark.org/review/3919
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Extcap is a plugin interface, which allows for the usage
of external capture interfaces via pipes using a predefined
configuration language which results in a graphical gui.
This implementation seeks for a generic implementation,
which results in a seamless integration with the current
system, and does add all external interfaces as simple
interfaces.
Windows Note: Due to limitations with GTK and Windows,
a gspawn-winXX-helper.exe, respective gspawn-winXX-helper-console.exe
is needed, which is part of any GTK windows installation.
The default installation directory from the build is an extcap
subdirectory underneath the run directory. The folder used by
extcap may be viewed in the folders tab of the about dialog.
The default installation directory for extcap plugins with
a pre-build or installer version of wireshark is the extcap
subdirectory underneath the main wireshark directory.
For more information see:
http://youtu.be/Nn84T506SwU
bug #9009
Also take a look in doc/extcap_example.py for a Python-example
and in extcap.pod for the arguments grammer.
Todo:
- Integrate with Qt - currently no GUI is generated, but
the interfaces are still usable
Change-Id: I4f1239b2f1ebd8b2969f73af137915f5be1ce50f
Signed-off-by: Mike Ryan <mikeryan+wireshark@lacklustre.net>
Signed-off-by: Mike Kershaw <dragorn@kismetwireless.net>
Signed-off-by: Roland Knall <rknall@gmail.com>
Reviewed-on: https://code.wireshark.org/review/359
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
Move them to the end of the list of optional programs.
Make it clear that echld is not built by default.
Change capitalization of tshark and tfshark.
Change-Id: Ib702ed72eb2469968e06a16c73a4009ba4cf68ad
Ping-Bug: 10380
Reviewed-on: https://code.wireshark.org/review/3596
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Petri-Dish: Jeff Morriss <jeff.morriss.ws@gmail.com>
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Jeff Morriss <jeff.morriss.ws@gmail.com>
We decided at sharkfest that this wasn't the right design for file dissection;
we have more-or-less settled on way forward, but nobody's shown interest in
implementing it. Whether or not that ever happens, this code is effectively
dead and should be removed.
Change-Id: I14d6086df3204fffb6485228db39d9f407661417
Reviewed-on: https://code.wireshark.org/review/3400
Petri-Dish: Evan Huus <eapache@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Evan Huus <eapache@gmail.com>
On the 32-bit OS X buildbot, automake is old enough that autotools
builds are verbose, printing the command line for each compile step; if
we cause CMake to produce verbose makefiles, they will also print the
command line, so we can see what differences there are.
This means the other debugging output we added isn't necessary; remove
it.
Sort the extra warning options in configure.ac based on whether they're
for C and C++ or just C, just as is the case in CMake, to make it easier
to keep the lists in sync; add comments to configure.ac to mirror the
ones in CMakeLists.txt.
Get rid of -Wno-deprecated-declarations; the CMake build doesn't use it,
and it doesn't appear to be necessary - if we ever have problems with OS
X complaining about using OpenSSL, for example, we should do as tcpdump
does and wrap uses of the "deprecated"-but-cross-platform APIs in
the appropriate pragmas.
Change-Id: I0b8b45f00481ac2b67da5c7dd028a029b130dcc4
Reviewed-on: https://code.wireshark.org/review/3377
Reviewed-by: Guy Harris <guy@alum.mit.edu>