Commit Graph

674 Commits

Author SHA1 Message Date
Pascal Quantin bd9dfbaf8d Welcome in 2016
Change-Id: I727dcd07093de7cb9381804fbcf4c0e1a99a3d6c
Reviewed-on: https://code.wireshark.org/review/12989
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2016-01-01 14:08:30 +00:00
João Valverde fbf2e3cf8f Make init_progfile_dir() take a function pointer [-Wpedantic]
Change-Id: I45f8ea5ee6ccc5a484c60ad6e686aaf30f6b0c98
Reviewed-on: https://code.wireshark.org/review/12557
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-12-14 23:52:28 +00:00
João Valverde 2aab706c5a Remove -Wwrite-strings compiler flag
The "-Wwrite-strings" flag produces nuisance warnings. These warnings are
not useful, they're impossible to fix in a sane way and therefore are being
handled with casts of static strings to (char *).

This just moves the warning to [-Wcast-qual] and a compiler pragma is
in turn required (and used) to squelch that warning.

Remove the Wwrite-strings warning. Let that responsibility fall on the
programmer (as is done by casting).

Change-Id: I5a44dfd9decd6d80797a521a3373593074962fb5
Reviewed-on: https://code.wireshark.org/review/12162
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>
2015-12-12 16:21:19 +00:00
João Valverde b2b9b22fe9 Avoid breaking output string mid-sentence
Change-Id: I463f93e515ebe12ed30b1f08cca7d29a7bd535ae
Reviewed-on: https://code.wireshark.org/review/12552
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-12-12 13:54:13 +00:00
João Valverde b41319bde3 autotools: Fix g212f2f1
Change-Id: If7185885faea2319fdce4d89a7a9bf40312bcfa6
Reviewed-on: https://code.wireshark.org/review/12346
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-12-01 21:37:43 +00:00
João Valverde 212f2f1761 autotools: Clean abi-check with maintainer-clean
Change-Id: Ia2ce54592485d2995bcfd56bd127a2fedb1a7d07
Reviewed-on: https://code.wireshark.org/review/12293
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-12-01 02:16:51 +00:00
Gerald Combs b8f90de70e ws80211: Disable shorten-64-to-32.
Disable shorten-64-to-32 in ws80211_create_on_demand_interface,
which calls NLA_PUT_STRING, which passes the output of strlen to an
int parameter. NLA_PUT_STRING is defined in netlink/attr.h so there's
not much we can do to fix it directly.

Suppress -Wpragmas before suppressing warnings in gcc so that we can
use DIAG_OFF with clang-only warnings.

Change-Id: I1180950edd93c056b8fbfbed164e482024aee90a
Reviewed-on: https://code.wireshark.org/review/12314
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2015-12-01 01:19:33 +00:00
João Valverde e639a13d11 cfutils.c: Fix ISO C forbids an empty translation unit [-Wpedantic]
Change-Id: Iac9384e63a4e946c73832103f8d6949f0187fa38
Reviewed-on: https://code.wireshark.org/review/12147
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2015-11-29 21:54:34 +00:00
Guy Harris caa1e87410 Use ws_{read,write,fdopen,close}.
Be more consistent about using the ws_ routines, as we suggest in
README.developer.

In C++ on UN*X, define ws_close as ::close rather than close, so that it
works even in classes with methods or members named "close".

Change-Id: Ide2652229e6b6b4624cbddae0e909a4ea1efa591
Reviewed-on: https://code.wireshark.org/review/11637
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-11-08 10:32:09 +00:00
Guy Harris 0162e54075 Clean up includes of unistd.h, fcntl.h, and sys/stat.h.
Have wsutil/file_util.h include them on UN*X, just as it includes io.h
on Windows, so we can have a rule of "if you do file operations, include
<wsutil/file_util.h> and use the routines in it".

Remove includes of unistd.h, fcntl.h, and sys/stat.h that aren't
necessary (whether because of the addition of them to wsutil/file_util.h
or because they weren't needed in the first place).

Change-Id: Ie241dd74deff284e39a5f690a297dbb6e1dc485f
Reviewed-on: https://code.wireshark.org/review/11619
Petri-Dish: Guy Harris <guy@alum.mit.edu>
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-11-07 21:52:23 +00:00
Guy Harris f542ab8e8e file_util.h includes io.h, we don't need to do so ourselves.
While we're at it, get rid of a commented-out include, and update a
comment to give more information.

Change-Id: I910a26a3d7f4a50f0559abe5f2ab97a93c80357f
Reviewed-on: https://code.wireshark.org/review/11610
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>
2015-11-06 23:44:11 +00:00
Guy Harris 2096c006aa Get rid of ws80211_frequency_to_channel().
Use ieee80211_mhz_to_chan() instead.

Change-Id: I1d9a3b9c3a5ad2b1a5bd3f8d10b7f8b1bbcba51d
Reviewed-on: https://code.wireshark.org/review/11586
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-11-05 22:56:07 +00:00
Guy Harris 9a47bc58f7 Match what most source say are the actual Japanese 4.9 GHz channels.
I don't know where Matthew Gast got his 4.9 GHz channels, but IEEE Std
802.11-2012 and ARIB STD T-71 have something different.

Change-Id: I5d86b12193e38422d3702f36cb106fe858daa4b5
Reviewed-on: https://code.wireshark.org/review/11585
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-11-05 22:39:52 +00:00
Guy Harris ff9f9fc431 Don't include "file.h" if you don't need it.
It ends up dragging in libwireshark headers, which programs not linking
with libwireshark shouldn't do.  In particular, including
<epan/address.h> causes some functions that refer to libwireshark
functions to be defined if the compiler doesn't handle "static inline"
the way GCC does, and you end up requiring libwireshark even though you
shouldn't require it.

Move plurality() to wsutil/str_util.h, so that non-libwireshark code can
get it without include epan/packet.h.  Fix includes as necessary.

Change-Id: Ie4819719da4c2b349f61445112aa419e99b977d3
Reviewed-on: https://code.wireshark.org/review/11545
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-11-04 08:46:30 +00:00
Guy Harris 6ada7d5389 Just use g_mkdir_with_parents() to make the .config directory on UN*X.
It will create all the relevant directories (if it can), using
g_mkdir(), which is a wrapper for mkdir() on UN*X - just as ws_mkdir()
is, so we don't need to make our own copy that uses ws_mkdir.

Bug: 11645
Change-Id: I68affc6fabccf58dace75af078d9bfd67a1b47b2
Reviewed-on: https://code.wireshark.org/review/11373
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-10-28 23:07:07 +00:00
Guy Harris 0f8e32c515 Do the "create parent of config file directory" stuff on UN*X as well.
~ obviously exists, but ~/.config might not, making it impossible to
create ~/.config/wireshark.

Bug: 11645
Change-Id: Ia267b168eb7b1438d4c35a6bb89df9d7bfcbd3f3
Reviewed-on: https://code.wireshark.org/review/11368
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-10-28 19:46:05 +00:00
Guy Harris b0b53fa593 On UN*X, use XDG_CONFIG_HOME/wireshark for configuration files.
If it doesn't exist, but ~/.wireshark does, continue to use that, for
backwards compatibility.

Derived from change I7fa64d6e8bd43c6a5dec93e30a4f69a747c34256.

Bug: 6353
Change-Id: I937f94b19a371486b7ea2228e51994cc4c72b501
Reviewed-on: https://code.wireshark.org/review/11137
Petri-Dish: Guy Harris <guy@alum.mit.edu>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: João Valverde <j@v6e.pt>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-10-19 20:49:10 +00:00
Guy Harris 4695ea20cc Add DEGREE SIGN character to utf8_entities.h and use it.
Add a #define giving the UTF-8 sequence for DEGREE SIGN, and use it in
packet-synphasor.c rather than having it define its own version.  Use it
in some other places rather than a string of two octal values.

Change-Id: Ic0f3b23ae0165c9824d89304d683f45bce31dced
Reviewed-on: https://code.wireshark.org/review/11102
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-10-16 23:27:20 +00:00
Gerald Combs b05803db4b CMake: Add /WX
Add "/WX" to the Visual C++ compiler flags if DISABLE_WERROR is off,
similar to config.nmake.

We haven't compiled C++ code with -Wshorten-64-to-32 for quite 
some time so there's no need to add -Wno-shorten-64-to-32 in
ui/qt/CMakeLists.txt.

Additionally, squelch

----
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\algorithm(3050) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data (.\rpc_service_response_time_dialog.cpp)
        C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\algorithm(3065) : see reference to function template instantiation 'void std::_Median<_RanIt,bool(__cdecl *)(const QString &,const QString &)>(_RanIt,_RanIt,_RanIt,_Pr)' being compiled
        with
        [
            _RanIt=QList<QString>::iterator
,            _Pr=bool (__cdecl *)(const QString &,const QString &)
        ]
        C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\algorithm(3127) : see reference to function template instantiation 'std::pair<_RanIt,_RanIt> std::_Unguarded_partition<_RanIt,bool(__cdecl *)(const QString &,const QString &)>(_RanIt,_RanIt,_Pr)' being compiled
        with
        [
            _RanIt=QList<QString>::iterator
,            _Pr=bool (__cdecl *)(const QString &,const QString &)
        ]
        C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\algorithm(3157) : see reference to function template instantiation 'void std::_Sort<_Iter,int,bool(__cdecl *)(const QString &,const QString &)>(_RanIt,_RanIt,_Diff,_Pr)' being compiled
        with
        [
            _Iter=QList<QString>::iterator
,            _RanIt=QList<QString>::iterator
,            _Diff=int
,            _Pr=bool (__cdecl *)(const QString &,const QString &)
        ]
        .\rpc_service_response_time_dialog.cpp(130) : see reference to function template instantiation 'void std::sort<QList<QString>::iterator,bool(__cdecl *)(const QString &,const QString &)>(_RanIt,_RanIt,_Pr)' being compiled
        with
        [
            _RanIt=QList<QString>::iterator
,            _Pr=bool (__cdecl *)(const QString &,const QString &)
        ]
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\algorithm(3051) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data (.\rpc_service_response_time_dialog.cpp)
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\algorithm(3052) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data (.\rpc_service_response_time_dialog.cpp)
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\algorithm(3053) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data (.\rpc_service_response_time_dialog.cpp)
----

in both rpc_service_response_time_dialog.cpp and wireshark_application.cpp
so that we'll compile successfully.

Change-Id: I457bcede99dcb1f3c1001f1f559c4901bb000357
Reviewed-on: https://code.wireshark.org/review/10533
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2015-10-16 21:32:22 +00:00
Peter Wu e6a071db05 cmake: link against dl, fixes linking with gold
wsutil/filesystem.c uses dladdr (when available), but does not declare a
dependency on it. Adding it fixes a CMAKE_C(XX)_FLAGS=-fuse-ld=gold
build failure:

    run/libwsutil.so.0.0.0: error: undefined reference to 'dladdr'

This change is somehow not necessary for autotools, just for cmake.

Change-Id: I642a7d85f9c33541831262f930e73d1f47c58b60
Reviewed-on: https://code.wireshark.org/review/10906
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Jörg Mayer <jmayer@loplof.de>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2015-10-13 07:35:55 +00:00
Alexis La Goutte 8adb9c0e68 inet_v6def : fix warning: redundant redeclaration of 'inet_pton' [-Wredundant-decls]
Change-Id: I937a65378a62be50d3d0d2f4a049b8cd73c8875c
Reviewed-on: https://code.wireshark.org/review/10951
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-10-12 21:42:32 +00:00
João Valverde 5823e6e50b Remove duplicate transport ports from proto tree summary
Don't display duplicate ports if transport name resolution is not
enabled (for UDP/TCP/DCCP).

Also introduce col_append_port() to handle info column port display
with name resolution in a uniform format.

Change-Id: Icb8ac45f726b7c539b4534c62061473e9b582753
Reviewed-on: https://code.wireshark.org/review/10804
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-10-11 23:54:28 +00:00
Peter Wu b07226775e nstime: fix -Wshift-negative-value
Even if the result of the negative shift (in TIME_T_MIN) is not used
because the signedness check happens before, it still causes a
compile-time warning. Fix this by shifting on an unsigned value, then
truncate by casting it.

While at it, remove a "fix for broken SCO compiler", it might not apply
to us (fingers crossed).

Change-Id: Id9603149d8063e9eaaa65cf028323f10e60a6c42
Reviewed-on: https://code.wireshark.org/review/10862
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2015-10-09 22:59:26 +00:00
João Valverde c00420efa2 Move utf8_entities.h to wsutil
Change-Id: I6298b3de5f0a1cb988014ff16082eaf8c2a3c3c0
Reviewed-on: https://code.wireshark.org/review/10786
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-10-05 14:34:53 +00:00
Guy Harris 32e785f813 The official #define for 32-bit and 64-bit Windows is _WIN32.
It's _WIN32, with a leading underscore, not WIN32.  See, for example:

    https://sourceforge.net/p/predef/wiki/OperatingSystems/

and

    https://msdn.microsoft.com/en-us/library/b0084kay.aspx

*Some* environments may also define WIN32, but we shouldn't depend on
that.

Replace all-caps "WIN32" referring to Windows in comments and other text
with "Windows" or "Win32".  (The two are pretty much equivalent, these
days; nobody much cares about Win16, not that we ever ran on it, and
64-bit Windows is just a 64-bitified Win32.)

Change-Id: Id327bcd4b1e9baa4f27055eff08c2d9e594d6f70
Reviewed-on: https://code.wireshark.org/review/10367
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>
2015-09-02 22:59:10 +00:00
Joerg Mayer 57b2b77022 cmake: rework version.h handling to treat it like config.h
It wasn't working on my system: I kept seeing the old git revision
in '...shark -v' even after deleting version.h

Change-Id: I75f41a7afcee4b9384f33a56014e4af6b527fec5
Reviewed-on: https://code.wireshark.org/review/10265
Petri-Dish: Jörg Mayer <jmayer@loplof.de>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Jörg Mayer <jmayer@loplof.de>
2015-08-26 07:37:02 +00:00
Gerald Combs 0e8cc9ab0a UDP multicast stream dialog.
Add the UDP multicast stream dialog. Abuse TapParameterDialog a bit more
so that we can edit parameters.

Remove some unused struct members and an unused function.

Change-Id: I962c70344e792f0959527e4bcba8a20bd7e8acf9
Reviewed-on: https://code.wireshark.org/review/10084
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2015-08-18 20:17:20 +00:00
Gerald Combs c643cbfb81 Run abicheck commands at compile time.
The CMake dumpbabi targets collectively copy over 800 files. Do
that when when we build the actual targets instead of at configure
time. Hopefully this will speed up initial CMake runs.

Change-Id: I6e4d691e24c73ea05d638a0f897f570541c84e38
Reviewed-on: https://code.wireshark.org/review/10052
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2015-08-16 16:04:47 +00:00
AndersBroman 5de487aa78 [MSVC 2015] Compiler and visual studio version are off by 5 not 6 in MSVC
2015.

Change-Id: I5476656789893af2c8aeb5dfe5cf06972fd8bd4b
Reviewed-on: https://code.wireshark.org/review/9873
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-08-05 12:34:11 +00:00
Tobias Stoeckmann a68518f499 terminate readlink result
The readlink function does not guarantee to nul-terminate its result string.
Therefore, it should be done in wsutil/filesystem.c.

Change-Id: Id96533e825a302a1922ce9ac7ee47d5525ac9c39
Reviewed-on: https://code.wireshark.org/review/9597
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-07-11 18:18:35 +00:00
Pascal Quantin 5b76ef3965 Next Windows Server version seems to be named Windows Server 2016 now
Change-Id: I31fb5495f5e17ccba1578a069ca33448a291923f
Reviewed-on: https://code.wireshark.org/review/9539
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2015-07-07 16:30:36 +00:00
Guy Harris 94eb30ab04 Add a comment.
Why, oh why, are channel numbers used for 802.11?

Change-Id: Ie26987dfeaad2ce0ead0eef72339f966aadeeecd
Reviewed-on: https://code.wireshark.org/review/9510
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-07-06 02:04:06 +00:00
Guy Harris 845998d8c3 Mark another function as printf-like.
Change-Id: I2aa13265da1efbf7edfe693c9b434940462ca237
Reviewed-on: https://code.wireshark.org/review/9497
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-07-04 20:15:33 +00:00
Guy Harris 63a78d45bc Use ws_fstat64() to determine the size of an open file.
fseek() to the end, followed by ftell(), is a bit of an odd way to get
the file size.  Use ws_fstat64() instead.

Check that the file is a regular file, while we're at it.  This means we
don't have to check before opening.

Bug: 11268
Change-Id: I31ee20dd5568d10541375cf97b286abfc1384d1c
Reviewed-on: https://code.wireshark.org/review/9230
Petri-Dish: Guy Harris <guy@alum.mit.edu>
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-06-30 02:34:54 +00:00
Evan Huus 5dcd207cc6 Check _MSC_VER is defined before we use it
Otherwise it breaks a bunch of stuff on Linux machines because of the way gcc's
preprocessor works (buildbot decryption tests, extcap, etc).

Originally added in Ic5360089f96be620fbe99ba4e819e0caa5ca0215

Change-Id: Iad43fa1415aa331ae375771adac0818ea1b99060
Reviewed-on: https://code.wireshark.org/review/9091
Reviewed-by: Evan Huus <eapache@gmail.com>
2015-06-24 15:34:18 +00:00
AndersBroman 89fbf02ab5 [MSVC 2015] file_exists() fails on MSVC2105 as file_stat.st_ino gets reset
to zero in the function call if the file does not exist. The general code
seems to work with MSVC2015 so use that.

Change-Id: Ic5360089f96be620fbe99ba4e819e0caa5ca0215
Reviewed-on: https://code.wireshark.org/review/9070
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-06-23 20:12:39 +00:00
Pascal Quantin 60f33b6581 Qt: fix a crash when closing application under Windows
QCoreApplication visits eldritch horrors upon argv on Windows. Keep a
local copy for our own processing.

---
[ Pascal's original comments ]
g6c4ec4a introduced the use of arg_list_utf_16to8 that triggers a crash on my
computer when freeing the g_allocated memory.
Let's do a similar work but with a memory allocator that does not trigger an exception.

Also fix a memory leak in arg_list_utf_16to8 while we are at it.

Change-Id: I93d899af20b09c9a5d584a46297f715591502df9
Reviewed-on: https://code.wireshark.org/review/8961
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-06-17 23:24:58 +00:00
Gerald Combs 6c4ec4aedb Qt: Make sure we have usable command line arguments.
Call arg_list_utf_16to8 in wireshark-qt.cpp on Windows. Set our default
codec in Qt4 to UTF-8 before doing so.

Bug: 11276
Change-Id: I8e0afb9523ddb5956d30424b7b7ad7f3ea0838c7
Reviewed-on: https://code.wireshark.org/review/8954
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2015-06-16 18:58:54 +00:00
Gerald Combs ece4b01f21 Add the wireless toolbar.
Add the wireless toolbar to the Qt UI.

Start adding AirPcap support to ui/80211_utils. Add FCS validation
routines to ws80211_utils.

Move a bunch of AirPcap routines that require epan from caputils to
ui/gtk. They were required for driver key management, which we'll
leave to the AirPcap Control Panel in the Qt UI.

Move frequency-utils to wsutil.

Change-Id: I44446758046621d183f5c2ba9f6526bf01e084f1
Reviewed-on: https://code.wireshark.org/review/8910
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2015-06-16 03:45:54 +00:00
Bill Meier 4c3677ef3b Replace tabs in files with editor modeline "expandtab"
Change-Id: I4667fd4091c510a4c798f79dae333a07dc42dad6
Reviewed-on: https://code.wireshark.org/review/8880
Reviewed-by: Bill Meier <wmeier@newsguy.com>
2015-06-11 02:15:35 +00:00
Guy Harris f389fb58e1 It's INVALID_HANDLE_VALUE, not INVALID_HANDLE.
Change-Id: I71d18ced0a1bd3438498230b6e647697be8e275d
Reviewed-on: https://code.wireshark.org/review/8872
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-06-10 04:20:39 +00:00
Guy Harris 62c3bc3596 Squelch some type-clash warnings on Windows.
Define WS_INVALID_PID to be the appropriate "there is no process" value.
On UN*X, -1 works; the "pid" is actually a HANDLE for the process on
Windows, so INVALID_HANDLE is appropriate.

Cast HANDLE to intptr_t in the _cwait() call.

Change-Id: Ica2d2319f5c95ba41f590776a745fe040fe494d2
Reviewed-on: https://code.wireshark.org/review/8871
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-06-10 03:10:24 +00:00
Guy Harris a10a41f5c7 Rename wsutil/process.h to wsutil/processes.h to avoid collisions.
The MSVC rules for searching for headers are a huge barrel of fun; it
appears that, for some files that need the MSVC <process.h> to declare
getpid(), they're getting our <wsutil/process.h> instead, as that's in
the current directory.  Rename it to avoid the collision.

Change-Id: I88eb70237062fa7957e38d7ff8132524390a6a5c
Reviewed-on: https://code.wireshark.org/review/8870
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-06-10 01:56:27 +00:00
Guy Harris 55267bdbb0 Make sure we include <windows.h> to get HANDLE declared.
Change-Id: I8cba1120f4667864eadeebd48bcdced3a2b71f4c
Reviewed-on: https://code.wireshark.org/review/8867
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-06-10 01:09:12 +00:00
Guy Harris f023aa18d5 Get rid of extra blank line at the end.
Change-Id: Ibe7904b7e01a1b0b81ba20673cd85e08ebf660c2
Reviewed-on: https://code.wireshark.org/review/8863
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-06-10 00:32:17 +00:00
Guy Harris 2e76bb466a Use pid_t on UN*X, and HANDLE on Windows, for the process ID.
This avoids type punning; at least with Xcode 7 beta on El Capitan beta,
that produces warnings that get turned into errors.

Change-Id: I57f47455b9630f359828c07c92a190b5cb33816f
Reviewed-on: https://code.wireshark.org/review/8862
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-06-10 00:30:57 +00:00
Joerg Mayer 1c455284f0 Fix some files to pass the pre-commit hook script.
Change-Id: I105bf4e03fcf95cf7541f6377215809759fd933e
Reviewed-on: https://code.wireshark.org/review/8502
Reviewed-by: Jörg Mayer <jmayer@loplof.de>
2015-05-17 21:01:03 +00:00
Graham Bloice 63295df655 Remove odd characters
Change-Id: Ie861badb555e235199549ee27ca374feb6356be6
Reviewed-on: https://code.wireshark.org/review/8482
Reviewed-by: Graham Bloice <graham.bloice@trihedral.com>
2015-05-16 14:16:54 +00:00
Guy Harris acf7985f73 Define the SHA-1 digest length in wsutil/sha1.h and use it.
Hopefully that'll make it a little easier to make sure that we're not
overflowing arrays.

Change-Id: I770df045ef9a45fd486c1271ea424b3334bb39d2
Reviewed-on: https://code.wireshark.org/review/8370
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-05-09 23:36:11 +00:00
Guy Harris 460729091c Rename a variable to avoid a collision with the C++ keyword "template".
Change-Id: I27c5efc5586e97d19ef905921919e1385809eb9b
Reviewed-on: https://code.wireshark.org/review/8367
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-05-09 12:16:34 +00:00
Guy Harris 53025444b7 Keep everything unsigned there.
This squelches a warning from Sun/Oracle C, and it's the right thing to
do in any case, as the LHS of the & operator is unsigned.

Change-Id: I824a82d945f8f2535282bbf466dcd65806c6f695
Reviewed-on: https://code.wireshark.org/review/8362
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-05-09 01:27:17 +00:00
Guy Harris d2b02eaf59 Don't shift signed values left.
That's not valid in C99, at least, if the value is negative or if the
shift count is the number of bits in the value - 1, and we might get
compile-time or run-time complaints about that.

Also, make bit masks unsigned; to quote a run-time error reported in

	https://www.wireshark.org/lists/wireshark-dev/201504/msg00084.html

"left shift of 1 by 31 places cannot be represented in type 'int'", so
use type "unsigned int" instead, by shifting 1U rather than 1 left.

Change-Id: I62220808058cb93f83329c1916b888a2067d524c
Reviewed-on: https://code.wireshark.org/review/8254
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-04-30 20:40:17 +00:00
Guy Harris 8b720910d2 Calculate *Peek tagged timestamps in fixed-point.
Add a variant of filetime_to_nstime() that takes a value that's like a
FILETIME but in units of nanoseconds rather than tenths of a
microsecond, and use that.  (It looks as if they might just get FILETIME
values from the OS and multiply them by 100, as the nanosecond-FILETIME
values appear to be multiples of 100 in the captures I've seen, but they
might have chosen nanosecond resolution in case they need to support a
higher-resolution time stamp source, so we don't assume that the values
will always be a multiple of 100.)

Change-Id: If6a1cb2cb673688b042eb113b79cfd267f5454a5
Reviewed-on: https://code.wireshark.org/review/8150
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-04-21 01:28:15 +00:00
Guy Harris 57d332dc0a Get rid of trailing white space.
Change-Id: I83ba78a9f153f4a193550c5069182b9203b28edb
Reviewed-on: https://code.wireshark.org/review/8144
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-04-20 20:53:45 +00:00
Guy Harris 94dc9cd113 Have a common routine to convert FILETIME to nstime_t.
We had several copies of that code; put it into a filetime_to_nstime()
routine in wsutil, and call that common routine instead.

Change-Id: I1eb5579c36c129ff8d23f9212285ab3f63be0f43
Reviewed-on: https://code.wireshark.org/review/8142
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-04-20 20:41:38 +00:00
Gerald Combs 3d7b728173 Make androiddump loadable on OS X.
Make sure the target location for extcap executables and extcap_dir
match on OS X.

Set the extcap directory to Contents/MacOS/extcap. The Mac Developer
Library documentation doesn't explicitly define "Resources", but
examples include data files and not executables. It does state that
executables shouldn't go into PlugIns.

Make sure we rpathify androiddump.

Change-Id: If36c762e2a1991c26e5c01a870deaf191bcf9f94
Reviewed-on: https://code.wireshark.org/review/8093
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2015-04-17 18:08:36 +00:00
Gerald Combs cec99abac9 Win32: Restore the versioned plugin installation path.
Revert parts of g2ef72cb and g7710da4 so that the NSIS installer once
again places plugins in $INSTDIR\plugins\$VERSION. This matches the
behavior of Autotools and previous Windows installers, and reduces the
chances of a version mismatch if the user happens to install a custom
plugin.

Leave the development plugin path unversioned. Leave the extcap path
unversioned for now.

Change-Id: I861d4ee12975fba4b642e391871c5e852d92a2fe
Reviewed-on: https://code.wireshark.org/review/7976
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Reviewed-by: Graham Bloice <graham.bloice@trihedral.com>
Petri-Dish: Graham Bloice <graham.bloice@trihedral.com>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2015-04-07 23:01:40 +00:00
Roland Knall 17cbd50e5a wsutil: Fix comment
Comment was, although accurate on the subject, not very well formulated

Change-Id: I4e6a4bdbc40f75b6bca72de4e71451c441d70d08
Reviewed-on: https://code.wireshark.org/review/7863
Reviewed-by: Roland Knall <rknall@gmail.com>
Reviewed-by: Michal Labedzki <michal.labedzki@tieto.com>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-03-31 11:39:35 +00:00
Pascal Quantin 786a7ea42c Add support for WIRESHARK_EXTCAP_DIR environment variable on Windows
This can be useful when a user cannot modify the Wireshark installation folder (due to UAC restriction for example)
This is already supported on Linux / OSX

Change-Id: Icfcb43908de1fd8cd415cd31a98219eab1c757c8
Reviewed-on: https://code.wireshark.org/review/7809
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-03-25 05:08:02 +00:00
Pascal Quantin 7710da4d77 Since g2ef72cb, plugins are no more stored in plugins/$VERSION folder
Also update the custom samples to reflect the latest changes done

Change-Id: I2ac865fad1acdef5a5c4d68a155cbdf970c306f5
Reviewed-on: https://code.wireshark.org/review/7805
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2015-03-24 20:54:01 +00:00
Dario Lombardo 5da569345d jsmn: bugfix in jsmn_parse() (found by clang).
Change-Id: Id5a9888a3e17c861a9de06343bd99ec0c4aacdce
Reviewed-on: https://code.wireshark.org/review/7555
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2015-03-06 19:48:00 +00:00
Pascal Quantin 763b6d3251 Added JSMN_STRICT that allow a more precise json parsing.
Bug: 10977
Change-Id: I725c10d895fdec4530d0761db3ac2659171f2f03
Reviewed-on: https://code.wireshark.org/review/7249
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Tested-by: Peter Wu <peter@lekensteyn.nl>
2015-03-03 17:30:40 +00:00
Michael Mann 43fd878c4e Add "seed" capabilities to crc16_x25_ccitt (now crc16_x25_ccitt_seed) so we can remove CRC algorithm calculation in packet-assa_r3.c.
Change-Id: I3143800f6ff922a309f5506d9acbc2c4293363b7
Reviewed-on: https://code.wireshark.org/review/7490
Reviewed-by: Jeff Morriss <jeff.morriss.ws@gmail.com>
Petri-Dish: Jeff Morriss <jeff.morriss.ws@gmail.com>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-03-03 05:12:10 +00:00
Guy Harris bfb4327291 Remove tvb_ from the names of wsutil mempbrk routines.
Routines that don't take a tvbuff as an argument shouldn't have tvb_ in
the name.

Change-Id: I3550256551e30b3f329cbbfca71ef27c727d29c0
Reviewed-on: https://code.wireshark.org/review/7302
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-02-21 20:39:25 +00:00
Guy Harris f3a68f00a1 Rename the slower-but-portable mempbrk to ws_mempbrk_portable_exec().
That parallels ws_mempbrk_sse42_exec().

Change-Id: I1662badc6d1efab5bdd827f29bbad3712464ec43
Reviewed-on: https://code.wireshark.org/review/7301
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-02-21 20:18:02 +00:00
Guy Harris e35aa1ff48 Move declarations of internal ws_mempbrk routines to a separate header.
Put the internal routines, which are only to be used by the
implementation of the mempbrk functions, to a separate header file, so
that they're not exported even in the standard header file.

Change-Id: I92c39b138de3e4f9da1b102210b39d50728e2fd6
Reviewed-on: https://code.wireshark.org/review/7300
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-02-21 20:14:24 +00:00
Guy Harris 9423a13b2d Just have init_progfile_dir() take a void pointer.
dladdr() takes a void * as a code pointer; have init_progfile_dir() do
so, and do the casting in the calls.  We don't care about the signature
of the function whose address we're passing, we just want to pass a
pointer to *something* in the main program.

Change-Id: I9372620a97b0eb53c2bb3c0c41a238b4408f3709
Reviewed-on: https://code.wireshark.org/review/7270
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-02-20 00:24:08 +00:00
Guy Harris 493ab6bcf3 Check whether emmintrin.h can be used *without* -msse4.2.
If not, we can't use SSE 4.2, as we need to be able to include it in
files that use tvb_pbrk_compile()/tvb_pbrk_exec() even if they're not
compiled with -msse4.2 (most files aren't, as we need to isolate SSE 4.2
instructions to a small bit of code that uses them only if running on
hardware that supports them).

Change-Id: I62262a3c45fa14e200967916ac0ffc283f8e322c
Reviewed-on: https://code.wireshark.org/review/7246
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-02-19 02:42:11 +00:00
Guy Harris e29dca79f2 Not all compilers support turning of "format=".
The clang on my machine doesn't; just do "format" instead.  (The best
way to handle this may be to do the formatting ourselves, so that we can
get thousands separators on *all* platforms, regardless of whether its
printf formatter supports it.)

Change-Id: I1948d1799688cb3cf1d7b0de0696c09f6bf23f1c
Reviewed-on: https://code.wireshark.org/review/7241
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-02-18 20:13:31 +00:00
Gerald Combs dd15191409 Suppress a printf grouping warning.
Suppress

    warning: ISO C does not support the ''' printf flag [-Wformat=]

We verify that we *do* support it via HAVE_GLIB_PRINTF_GROUPING.

Change-Id: Iedcf1d1856238e05babde5fe8ec23f64fbf2cdcf
Reviewed-on: https://code.wireshark.org/review/7238
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2015-02-18 18:37:34 +00:00
Gerald Combs 630f54fbbc Fix various warnings in wireshark-qt.cpp.
Squelch warnings due to (char *) casts.

Use "include_directories(SYSTEM..." in CMakeLists.txt so that we
don't get pedantic warnings about things we can't easily fix such
as QList loop optimizations. Not sure if there's an easy way to do
this in Autotools.

Pass get_gui_compiled_info to init_progfile_dir. C++ don't have to
show you any stinkin' ::main.

    warning: ISO C++ forbids taking address of function ‘::main’ [-Wpedantic]

Change-Id: If1c77284ab0d1b4786bce4e926a4109dd9b1ae34
Reviewed-on: https://code.wireshark.org/review/7207
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2015-02-18 05:01:00 +00:00
Dario Lombardo bd911096bd Added JSON native file support.
libjsmn has also been moved from epan/ to wsutil/ to make it visible from wiretap.

Change-Id: I59abb3419acb1baa83194b38152d3651ed5c123c
Bug: 10878
Reviewed-on: https://code.wireshark.org/review/6716
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2015-02-17 11:08:51 +00:00
Gerald Combs 65763cf6ac Try to fix diagnostic suppression.
Test the compiler for "-Wpedantic" instead of "-pedantic" since DIAG_OFF
and DIAG_ON expect a "-W" flag prefix. Be more strict about the compiler
versions that DIAG_OFF and DIAG_ON support.

Change-Id: I9304c544912102f1719b79e9250f97b40a324430
Reviewed-on: https://code.wireshark.org/review/7123
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-02-14 22:55:00 +00:00
Gerald Combs e11d7ef08f Fix diagnostics macros and squelch a gcc warning.
Both clang and gcc define __GNUC__. Make sure we account for that when
defining diagnostic macros.

Use DIAG_OFF + DIAG_ON to suppress gcc -pedantic warnings about
frame_data.

Get rid of packet_char_enc casts.

Change-Id: Idbcc61bcdb35c1d20f185461c69451dcdf73bae9
Reviewed-on: https://code.wireshark.org/review/7106
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2015-02-14 19:46:42 +00:00
Guy Harris f62353755b We use GLib's directory-reading routines, so we don't need <dire[cn]t.h>.
Change-Id: Id86e5d6d0ab24adb1bfff0688f33a40f2fdaed8d
Reviewed-on: https://code.wireshark.org/review/7108
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>
2015-02-14 07:23:20 +00:00
Bill Meier 9c866ff971 Replace tabs by spaces when editor modelines has "expandtab"
Change-Id: If7a6f2697be732ae4f94ed8b845fd293c32510f7
Also: tabs-stops should be 8
Reviewed-on: https://code.wireshark.org/review/7100
Reviewed-by: Bill Meier <wmeier@newsguy.com>
2015-02-13 17:34:53 +00:00
Pascal Quantin bdcac172ea Fix crash at startup in SSE4.2 code when running a 32 bits Windows build
There is no guarantee that a g_malloc'ed memory block will be aligned on a 128 bits boundary
Instead use a static variable definition (at the cost of exposing the HAVE_SSE4_2 compilation flag in ws_mempbrk.h)

Change-Id: I661bf479a9d458d64c96bafc940c519d29a4780b
Reviewed-on: https://code.wireshark.org/review/7070
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2015-02-12 16:37:55 +00:00
Guy Harris d3d0a0a802 Fix SSE 4.2 checks.
CMake has "normal" and "cache" variables, and unexpected things happen
if you have a normal and a cache variable with the same name.
Apparently, check_c_compiler_flag() currently sets its result variable
as a cache variable, and set(), by default, sets it as a normal
variable.

This means that there are two different HAVE_SSE4_2 variables, and the
top-level CMakeLists.txt looks at the cache variable when it creates
config.h; this means that if the nmmintrin.h test fails, config.h still
says we have SSE 4.2.

Instead, use separate variables for the "compiler can be made to
generate SSE 4.2 code" test and the "nmmintr.h works" test; that way we
don't have to worry about normal vs.  cache variables (and don't have to
worry about CMake changing what type of variable particular
functions/macros set).

Change-Id: I618ad402b248f35fffd822974b6a569d4e5d6398
Reviewed-on: https://code.wireshark.org/review/7073
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-02-11 22:21:19 +00:00
Hadriel Kaplan a837570d02 Combine SSE and pre-compiled patterns for faster pbrk
This combines the SSE4.2 instructions usage, with pre-compiled
pattern searching usage, for a faster pbrk search method.

Testing against large files of HTTP and SIP, there is about
a 5% performance improvement by using pre-"compiled" patterns
for guint8_pbrk() instead of passing it the search string and
having it build the match array every time.
Similar to regular expressions, "compiling" the pattern match array
in advance only once and using the "compiled" patterns for
the searches is faster than compiling it every time.

Change-Id: Ifcbc14a6c93f32d15663a10d974bacdca5119a8e
Ping-Bug: 10798
Reviewed-on: https://code.wireshark.org/review/6990
Petri-Dish: Hadriel Kaplan <hadrielk@yahoo.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-02-11 09:14:50 +00:00
Hadriel Kaplan 78755c775c Disable SSE4.2 _ws_mempbrk_sse42 only for older Apple compilers
This is a longer term fix to disable _ws_mempbrk_sse42 in older
Apple compilers, which the buildbots currently use. This fix
is the longer-term fix for the temprorary one introduced in
g9a366b04/I2e438ff29.

Bug: 10798
Change-Id: I051ca003610c07f7d75cc19b20ff823fe4c1ce05
Reviewed-on: https://code.wireshark.org/review/6851
Petri-Dish: Hadriel Kaplan <hadrielk@yahoo.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2015-01-30 07:47:41 +00:00
Hadriel Kaplan 9a366b0476 Disable SSE4.2 _ws_mempbrk_sse42 due to bug 10798
This is a (possibly) temporary change to master to
disable _ws_mempbrk_sse42 to see if that fixes bug
10798.

Ping-Bug: 10798
Change-Id: I2e438ff299f55709c66a37634d2a7e799c513ac9
Reviewed-on: https://code.wireshark.org/review/6844
Petri-Dish: Hadriel Kaplan <hadrielk@yahoo.com>
Reviewed-by: Evan Huus <eapache@gmail.com>
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Hadriel Kaplan <hadrielk@yahoo.com>
Tested-by: Hadriel Kaplan <hadrielk@yahoo.com>
2015-01-29 19:11:29 +00:00
Pascal Quantin 53a5e4f6cb win32: fix detection of Windows 10 Technical Preview
The version number changed from 6.4 to 10.0

Change-Id: Ie749c97e8335f77d414d80edbd69373bd9a1cdad
Reviewed-on: https://code.wireshark.org/review/6820
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2015-01-28 09:19:48 +00:00
Guy Harris c1078963b2 Replace "GIT" with "VCS" in make-version.pl and files it manipulates.
That makes it more VCS-neutral - apparently some people maintain private
versions under VCSes other than Git, and make-version.pl still handles
those VCSes.

Change-Id: Ie4914b16fea8ce800582729260c5e9b9cf1111f4
Reviewed-on: https://code.wireshark.org/review/6779
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-01-25 21:51:13 +00:00
Guy Harris bc86257750 Also support -xarch=sse_42 in the Sun C compiler for x86(-64).
Change-Id: Ib6d0ae9c237b96568e2522d2077b311b3ac5af2e
Reviewed-on: https://code.wireshark.org/review/6706
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-01-21 07:27:40 +00:00
Guy Harris db6f7339f7 Always set the COMPILE_FLAGS property, so we can always fetch it.
If we aren't adding -Werror, just set it to a null string, so when we
fetch it to add the SSE 4.2 flag to it for ws_mempbrk_sse42.c, it
doesn't fail.

Change-Id: I53858130c025e094ed8d0d975451961506fb1a39
Reviewed-on: https://code.wireshark.org/review/6704
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-01-21 04:39:33 +00:00
Guy Harris 41cbbc2f77 Don't set SSE4_2_FLAG to -msse4.2 unless -msse4.2 works.
Change-Id: I54eca86d53dc0e4015a15491b9adfdfe9ef9e346
Reviewed-on: https://code.wireshark.org/review/6703
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-01-21 04:33:07 +00:00
Guy Harris 8a0bd92722 Check whether we can use nmmintrin.h.
If we think the compiler supports SSE 4.2, check whether we can use
nmmintrin.h if we tell the compiler to compile with SSE 4.2 support; if
not, disable SSE 4.2 support.

This matches what we do in autotools.

Change-Id: I474d53d2fe7e2628faca7309efd7155b63bd7eab
Reviewed-on: https://code.wireshark.org/review/6702
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-01-21 03:18:06 +00:00
Guy Harris bf239535b9 Only turn -msse4.2 on for ws_mempbrk_sse42.c, and don't always build it.
Move all the SSE 4.2 stuff to wsutil/CMakeLists.txt.

Don't put ws_mempbrk_sse42.c in WSUTIL_FILES by default; add it if we
think the compiler supports compiling for SSE 4.2.

Add -msse4.2 to its COMPILE_FLAGS, but don't add it to any other
compiler flags - we don't want to build anything else with -msse4.2 by
default, as the only code that uses SSE 4.2 instructions but *only* does
so if the processor supports it is our mempbrk implementation.  (And
*add* it, don't *replace* the existing flags with -msse4.2; that way,
-Werror is left in there as well.)

Change-Id: I979b37a37e4b88b3af11e2275e89441118c8ce0a
Reviewed-on: https://code.wireshark.org/review/6698
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-01-21 02:45:35 +00:00
Gerald Combs 6e6a1291d0 CMake: Set an output directory for plugins.
Redefine PLUGIN_DIR similar to DATAFILE_DIR and use it on all
platforms. Add WiresharkPlugin.cmake so that we can start defining common
macros for plugins/*/CMakeLists.txt. Load plugins in out-of-tree builds.

Change-Id: I8c1359ed3cf8a71788b8320ff89dfe2d3969def2
Reviewed-on: https://code.wireshark.org/review/6640
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2015-01-20 16:12:20 +00:00
Guy Harris 63a3d043e3 Consistently use the "g_string_free returns a C string pointer" idiom.
g_string_free(str, FALSE) frees the GString container but not the
underlying g_malloc()ed string; instead, it returns a pointer to the
g_malloc()ed string.

Fix those places that didn't already get the string pointer from
g_string_free() to do so rather than manually extracting the string
themselves.

And fix one place that didn't even need to use a string - it was just
scanning a C string without even modifying it.

Change-Id: Ibbf4872bf5b9935b9907f539b6edb1013f3053a5
Reviewed-on: https://code.wireshark.org/review/6532
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-01-13 23:14:13 +00:00
Graham Bloice 528a857258 Fix CMake generation and use of Windows .rc files
CMake now generates local copies of .rc files for all the Windows
components and uses the files in the build of the components.

The .rc.in files that include an icon were modified to allow the icon
path to be set by CMake.  The path is removed for nmake builds.

Updated build architecture detection, required for wireshark.manifest.in

Change-Id: I7b1ff43050e9b0efb861d1041636fb4aef49a4f8
Reviewed-on: https://code.wireshark.org/review/6482
Petri-Dish: Graham Bloice <graham.bloice@trihedral.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Graham Bloice <graham.bloice@trihedral.com>
2015-01-11 20:22:32 +00:00
Graham Bloice a7a17047eb Minor CMake updates to better group build artefacts
Move capchild, caputils, codecs and wsutil into a Libs group
Move gtkui into UI group
Move update-sminmpec into tools group

Change-Id: Iaf2bfe4697265af2c3ed9c9d7de2d5d1ef3cafee
Reviewed-on: https://code.wireshark.org/review/6332
Reviewed-by: Graham Bloice <graham.bloice@trihedral.com>
Tested-by: Graham Bloice <graham.bloice@trihedral.com>
2015-01-05 23:48:46 +00:00
Pascal Quantin 7d943e11a4 Add back "version.h" inclusion
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>
2015-01-02 18:24:55 +00:00
Bill Meier 5c529c95c5 Add '*.nativecodeanalysis.xml' to 'clean' targets
Change-Id: I90dbf0b31fc737150a01533763a7869b34c68cb6
Reviewed-on: https://code.wireshark.org/review/6220
Reviewed-by: Bill Meier <wmeier@newsguy.com>
2015-01-02 01:45:16 +00:00
Pascal Quantin 1663c2afe7 Welcome in 2015
Change-Id: Ib581b9383b211ea8dbcea1cadf98a2b8c3548ab5
Reviewed-on: https://code.wireshark.org/review/6204
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2015-01-01 13:21:26 +00:00
Guy Harris 9a7d4559ae Use setlocale() to get the current locale.
This:

	1) should work on Windows;

	2) reflects what the C environment is actually set up to use,
	   rather than what the environment variables for locale are
	   set up to use - C programs default to the C locale and only
	   pick up the setting from the environment variables etc. if
	   you explicitly request the system locale with a setlocale()
	   call.

Change-Id: Iee064237e70501a5450d4daa9ab849391f200efd
Reviewed-on: https://code.wireshark.org/review/6195
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-12-31 23:33:31 +00:00
Guy Harris 23b1127daf Swallow get_glib_version_info() into get_compiled_version_info().
It's not that complicated, so we might as well just do it in line.

Change-Id: I10809db554e668a853d28e7dca48b2de0ed51ad3
Reviewed-on: https://code.wireshark.org/review/6190
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-12-31 21:43:29 +00:00
Guy Harris 93efc20115 "#else", not "#elif", for the last part of a chain of conditionals.
Also give more details, for future reference, on how to determine
whether the processor supports CPUID.

Change-Id: I01e7173e45b0079f02338e51248238c05302dbd2
Reviewed-on: https://code.wireshark.org/review/6189
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-12-31 21:26:10 +00:00
Guy Harris d5d2c0e651 ws_cpuid() returns a success/failure indication; make it gboolean.
Change-Id: I03403ce29c4ac343d56fc2cf33aa8da90a082cbb
Reviewed-on: https://code.wireshark.org/review/6185
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-12-31 19:51:59 +00:00
Guy Harris 35cf7c6b3c Distinguish between IA-32 and non-x86.
In case we make ws_cpuid() work on IA-32 processors, add a separate
"always returns no" version of ws_cpuid() for non-x86 processors.

Change-Id: Id6fbd3e5c7d4f04063bc9bcd8f1644cd617b297e
Reviewed-on: https://code.wireshark.org/review/6184
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-12-31 19:46:33 +00:00
Guy Harris cb7c949091 Move some routines into ws_version_info.c.
The routines to get compiler, GLib version, CPU, and memory info are
used only in routines in ws_version_info.c; move them into
ws_version_info.c and make them static.

Change-Id: I58edd18da3301095012d2c7a3c5198e5a7073964
Reviewed-on: https://code.wireshark.org/review/6183
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-12-31 19:34:40 +00:00
Guy Harris 27be466c9b Do the full string in get_{compiled,runtime}_version_info().
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>
2014-12-31 06:29:11 +00:00
Guy Harris c1f30471ca Move the version_info.c stuff to wsutil/ws_version_info.c.
Change-Id: I3a5c7e219974bfb924819b43b4d445eaf00e5bde
Reviewed-on: https://code.wireshark.org/review/6153
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-12-31 03:41:02 +00:00
Martin Mathieson c1d9d93efb Restore string.h to os_version.c
Change-Id: I810a38c56829d5d3beaccc0171fc76f26ad79b52
Reviewed-on: https://code.wireshark.org/review/6108
Reviewed-by: Martin Mathieson <martin.r.mathieson@googlemail.com>
2014-12-29 01:05:20 +00:00
Martin Mathieson 85781bb78d Add back string.h to sha1.c and sober128.c
Change-Id: Idd8963717eab804f7d76652d1baf029be8b5997f
Reviewed-on: https://code.wireshark.org/review/6105
Reviewed-by: Martin Mathieson <martin.r.mathieson@googlemail.com>
2014-12-29 00:34:56 +00:00
Martin Mathieson 8ae669c59f Restore string.h to md4.c
Change-Id: I1a2c57ea20bcb1fd22c0379f3f43d3589e497c1b
Reviewed-on: https://code.wireshark.org/review/6104
Reviewed-by: Martin Mathieson <martin.r.mathieson@googlemail.com>
2014-12-29 00:18:17 +00:00
Martin Mathieson 30edb919e7 Add string.h back to rc4.c
Change-Id: Idea9369742373e4a50edb3f391bdabfeeb3a2ca7
Reviewed-on: https://code.wireshark.org/review/6103
Reviewed-by: Martin Mathieson <martin.r.mathieson@googlemail.com>
2014-12-29 00:12:45 +00:00
Martin Mathieson 518e48defe Add back string.h
Change-Id: Ia61c72c7e8d1ef92ec5a38d534620fc225eef365
Reviewed-on: https://code.wireshark.org/review/6102
Reviewed-by: Martin Mathieson <martin.r.mathieson@googlemail.com>
2014-12-29 00:09:07 +00:00
Martin Mathieson f21557520c Add a couple of more needed includes
Change-Id: Ie160f81544c6c9b381078b555e91602617cb2700
Reviewed-on: https://code.wireshark.org/review/6101
Reviewed-by: Martin Mathieson <martin.r.mathieson@googlemail.com>
2014-12-28 23:57:37 +00:00
Martin Mathieson 5efc18e3f1 Restore string.h as OS X misses it for strlen()
Change-Id: If1a968d54eed97fae915b8546d8d7a65a56b82db
Reviewed-on: https://code.wireshark.org/review/6100
Reviewed-by: Martin Mathieson <martin.r.mathieson@googlemail.com>
2014-12-28 23:47:16 +00:00
Martin Mathieson e3efb80b45 Deleting unnecessary #includes from wsutil.
Will look at cleaning up and committing script afterwards.

Change-Id: Id785e581740ab62fe9258ecfcb0926761ad9c527
Reviewed-on: https://code.wireshark.org/review/6086
Reviewed-by: Martin Mathieson <martin.r.mathieson@googlemail.com>
2014-12-28 23:33:54 +00:00
Dario Lombardo 63ebe918d9 Removed duplicated #include lines
Change-Id: I9cafa3cd5c74121168777d8c656e7e94e89efd3c
Reviewed-on: https://code.wireshark.org/review/6065
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Reviewed-by: Martin Mathieson <martin.r.mathieson@googlemail.com>
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2014-12-28 00:02:39 +00:00
Guy Harris 20503c7047 Check for getopt_long(), not getopt().
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>
2014-12-25 01:11:10 +00:00
Guy Harris 2233ef59c9 Include some files based on whether the functions they define are present.
Rather than including wsgetopt.c, inet_aton.c, and strptime.c iff we're
building for Windows:

	include wsgetopt.c iff we don't have getopt();

	include inet_aton.c iff we don't have inet_aton();

	include strptime.c iff we don't have strptime().

Change-Id: Ibd68306ac372a4ae102c3220a94cdf6ecb04e58c
Reviewed-on: https://code.wireshark.org/review/6044
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-12-25 00:13:55 +00:00
Guy Harris 153c63d3ff Don't use extra variables for ws_mempbrk_sse42.c and popcount.c
Instead, just add to WSUTIL_FILES as necessary.

Change-Id: Iecadbd9a66ec54ee5d90aecfbfe5e636ae56e27e
Reviewed-on: https://code.wireshark.org/review/6043
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-12-24 23:55:15 +00:00
Stephen Fisher 2d8ec49ffa Move twelve show_version() functions from the varoius programs and
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>
2014-12-24 16:51:45 +00:00
Guy Harris 1b37f4c5ef Cmake: check for popcount, and build it from wsutil/popcount.c if missing.
Change-Id: Id646a9f0b1fc6acafa99a78725e3f0ec8a48c170
Reviewed-on: https://code.wireshark.org/review/6006
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-12-23 05:04:17 +00:00
Stephen Fisher 4009231b2c Try to fix Windows build for popcount() unresolved external symbol
Change-Id: Ie154caa1967ce4016dd52eefcf757e2e58d7ac68
Reviewed-on: https://code.wireshark.org/review/6005
Reviewed-by: Stephen Fisher <sfisher@sdf.org>
2014-12-23 00:45:08 +00:00
Stephen Fisher 3d62d2c396 Move popcount() to an optionally built part of wsutil for systems that
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>
2014-12-23 00:22:23 +00:00
Alexis La Goutte 5248c0df21 Fix unknown command tag name [-Wdocumentation-unknown-command]
Change-Id: I6c2564a86e13d9321001856ba1f51681a9f20976
Reviewed-on: https://code.wireshark.org/review/5979
Reviewed-by: Evan Huus <eapache@gmail.com>
2014-12-22 15:24:28 +00:00
Guy Harris 4d3c7b50de Don't bother with __builtin_floorl().
At least as I read the GCC documentation, if GCC supports a builtin
floorl() at all, it will always treat floorl() and
__builtin_floorl() the same (it's reserved in C90 and defined in C99, so
nobody should ever write C code assuming floorl() won't be treated in
that afshion).

In addition, the GCC 3.3.6 manual says nothing about __builtin_floorl(),
so it probably won't help to use it.  If it appears to help, there's
probably something else going on.

Also, GCC appears not to like "#ifdef (__GNUC__)", as the parentheses
mean it's testing an expression, not a macro name.

Change-Id: Ib88b52c366d7f3b1637bb408fb18d04b67c27e4b
Reviewed-on: https://code.wireshark.org/review/5909
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-12-20 05:09:52 +00:00
Guy Harris 1a051afee3 Include <math.h> to declare floor().
Change-Id: I39de31c3e38b83aaec76396048e6960f609bc63e
Reviewed-on: https://code.wireshark.org/review/5907
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-12-20 04:24:05 +00:00
Guy Harris 07fb8cf54a Remove trailing white space.
Change-Id: I0777945a5234cf380e2f3bc2461cc638c316f499
Reviewed-on: https://code.wireshark.org/review/5906
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-12-20 04:11:43 +00:00
Guy Harris b445b3da44 Rename wsutil/floor.[ch] to wsutil/floorl.[ch].
That better indicates what they do - they don't supply floor(), as
that's a standard math.h feature dating back before C89, they supply
floorl().

Change-Id: Ib1278c51cdfc57680c28c51de87eafb2cb50c8eb
Reviewed-on: https://code.wireshark.org/review/5905
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-12-20 03:44:34 +00:00
Guy Harris 1088629503 If we don't have GCC, fall back on using floor().
Add the closing brace for the function body while we're at it.

Change-Id: I73170fdc0885972dce531b553ff8601cceea182e
Reviewed-on: https://code.wireshark.org/review/5902
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-12-20 03:00:21 +00:00
Guy Harris b736896490 Handle floorl() the same way we handle other not-on-all-platforms functions.
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>
2014-12-20 02:54:04 +00:00
Guy Harris 556f9a5b2b Include floor.c and floor.h in the source tarball.
Change-Id: Iabc0403643a05eaa7dbd525a94bc720d100d54d5
Reviewed-on: https://code.wireshark.org/review/5899
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-12-20 02:02:30 +00:00
Stephen Fisher 2376953909 Another missing change
Change-Id: Icaaaeda75f411ecc7cf3027440c8af2b85021be3
Reviewed-on: https://code.wireshark.org/review/5897
Reviewed-by: Stephen Fisher <sfisher@sdf.org>
2014-12-20 00:45:37 +00:00
Stephen Fisher aa0a04054c Add missing files from last commit
Change-Id: I4a6dd1b60893d19b91f5bc0f85be9ee99cd3eb5e
Reviewed-on: https://code.wireshark.org/review/5892
Reviewed-by: Stephen Fisher <sfisher@sdf.org>
2014-12-19 23:12:34 +00:00
Stephen Fisher 47dc4e77cc Revert "Provide a floorl() function (which is currently only able to call GCC's __builtin_floorl() function) for systems which don't provide one." because I left off the new wsutil/floor.[ch] files
This reverts commit e2586ec36d.

Change-Id: Ie38b7f32b2d21e3beba5173eec22ca12b7f5da91
Reviewed-on: https://code.wireshark.org/review/5891
Reviewed-by: Stephen Fisher <sfisher@sdf.org>
2014-12-19 23:12:09 +00:00
Stephen Fisher e2586ec36d Provide a floorl() function (which is currently only able to call GCC's
__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>
2014-12-19 22:56:18 +00:00
Stephen Fisher d77c5a5106 Update the URL for the CPUID instruction documentation.
Change-Id: I9729b3aa11027783a3557468743e91e180a6de8d
Reviewed-on: https://code.wireshark.org/review/5509
Reviewed-by: Stephen Fisher <sfisher@sdf.org>
2014-11-26 17:30:58 +00:00
Bill Meier cb090e81ec [pedantic] Replace usage of 'long' and 'long long'
Change-Id: I78fc82c1a83eb04d78a11fc76710c92dfc916208
Reviewed-on: https://code.wireshark.org/review/5395
Reviewed-by: Bill Meier <wmeier@newsguy.com>
2014-11-19 16:31:42 +00:00
Pascal Quantin 85aa1bcc75 ws_mempbrk_sse42.c: remove inclusion of stdint.h as it's no more required after g79e4da4
Change-Id: I48776a286ba1d412ecda55857938d9daa77fd3f7
Reviewed-on: https://code.wireshark.org/review/5136
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2014-11-05 12:38:06 +00:00
Stephen Fisher 79e4da4d63 Fix compilation error on FreeBSD 10.0-RELEASE (with clang): change int8_t to
gint.

Change-Id: I7974497a8f50e5d18ec74aa7554f058056a6022c
Reviewed-on: https://code.wireshark.org/review/5115
Petri-Dish: Stephen Fisher <stephenfisher@centurylink.net>
Reviewed-by: Stephen Fisher <stephenfisher@centurylink.net>
2014-11-04 20:02:34 +00:00
Guy Harris 7a787927a5 Don't use -msse4.2 with MSVC.
Change-Id: I457d45d9ad05e0eb851e78a7342e666ef9df8ffd
Reviewed-on: https://code.wireshark.org/review/5086
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-11-03 16:39:54 +00:00
Pascal Quantin c49c775087 Add identification of Windows (Server) 10
Change-Id: I5ab7a4dc67ceac644faead0d9e460e3babaf6355
Reviewed-on: https://code.wireshark.org/review/5067
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2014-11-02 13:33:52 +00:00
Stig Bjørlykke 6a37368738 Validate no_of_bits in ws_sign_ext32 and ws_sign_ext64
The result of the '<<' expression is undefined if no_of_bits - 1 is negative.

Change-Id: I3fff09afe414bdd9d6736ee351f1c542c503b93d
Reviewed-on: https://code.wireshark.org/review/4698
Reviewed-by: Evan Huus <eapache@gmail.com>
Petri-Dish: Evan Huus <eapache@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2014-11-01 15:51:41 +00:00
Jeff Morriss 79c977cf0a Remove the optional strncasecmp.{h,c} target (for systems that don't have that API).
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>
2014-10-30 13:39:44 +00:00
Guy Harris 4acf4955f5 Rename the strnatcmp.c routines and make them use the g_ascii_XXX() routines.
Rename strnatcmp()/strnatcasecmp() to ws_ascii_XXX(), and make them use
the g_ascii_XXX() routines rather than ctype.h routines, to eliminate
locale-dependent behavior.

(If you want locale-dependent "natural order" sorting, you probably want
"dictionary order" sorting, which is more complicated than just natural
order sorting.)

Change-Id: I837f2776b2a909b547dc9a6072e497911b5380e5
Reviewed-on: https://code.wireshark.org/review/4985
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-10-29 17:54:51 +00:00
Guy Harris 344c2bbb5e strptime.c needs ctype.h.
Change-Id: Icf4020426d3a5e0a6bd2012a266cf07be9928abf
Reviewed-on: https://code.wireshark.org/review/4793
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-10-17 21:59:45 +00:00
Guy Harris e304f6d9f8 Get rid of unnecessary includes of ctype.h.
Change-Id: Ic23203f13fd6627b664e8ed1438d328c46328b9f
Reviewed-on: https://code.wireshark.org/review/4790
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-10-17 21:22:58 +00:00
Guy Harris 5fc398c328 Don't use ctype.h routines.
That avoids locale dependency and handles possibly-signed chars (which
we weren't doing before).

Change-Id: I189222eff624ad2d2e960bc0b69f3f22d35f351f
Reviewed-on: https://code.wireshark.org/review/4787
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-10-17 21:11:44 +00:00
Guy Harris 441698863d Eliminate include of <ctype.h>.
This is not built if we have glibc (as we already have getopt() from
it), and it's not part of glibc, so....

Change-Id: Iae4ff944c78fc55a8cd2eaf523a3696c47b741d7
Reviewed-on: https://code.wireshark.org/review/4769
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-10-17 07:02:37 +00:00
Bill Meier 10b83e6931 Add editor-modelines; adjust whitespace.
Change-Id: I8cad872cee972a6d22a72852dac57fd188daca84
Reviewed-on: https://code.wireshark.org/review/4683
Reviewed-by: Bill Meier <wmeier@newsguy.com>
2014-10-14 16:45:09 +00:00
Pascal Quantin b3ad51db7c Follow-up of ged0b19b (Make boolean bitmask type 64-bit wide)
- use G_GINT64_MODIFIER instead of "%ll"
- use G_GUINT64_CONSTANT instead of ULL
- add some missing explicit casts

Change-Id: Ic048d9ee8966ea504ea542cefe55688edcfb2dc7
Reviewed-on: https://code.wireshark.org/review/4644
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2014-10-13 15:34:09 +00:00
Daniel Mack ed0b19b94b Make boolean bitmask type 64-bit wide
There are protocols out there that have 64-bit wide bit mask fields, so
make the internal representation and bitfield decoders 64-bit aware.

For this, the ws_ctz() fallback and bits_count_ones() have to be tweaked
slightly.

Change-Id: I19237b954a69c9e6c55864f281993c1e8731a233
Reviewed-on: https://code.wireshark.org/review/4158
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>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2014-10-12 14:15:12 +00:00
Gerald Combs 3a4cab751e CMake: Bundle our libraries.
Change-Id: I5df4d794602f7e53c2f4f496597f8eaf7c7b6eaa
Reviewed-on: https://code.wireshark.org/review/4588
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2014-10-10 01:45:55 +00:00
Bill Meier 07698d536b Adjust some whitespace to match editor modelines.
Change-Id: Ia22cac3ebd7a454c156f98d967e6fd61f708a2b3
Reviewed-on: https://code.wireshark.org/review/4489
Reviewed-by: Bill Meier <wmeier@newsguy.com>
2014-10-06 02:55:49 +00:00
Gerald Combs 983ae6cade Fix the patch-bzip2 target.
The main site URI scheme is now https. Update the URL in some other
places while we're here.

Change-Id: Ib03d4fd1c58dabd3cf5050dc4f79216e0b94d525
Reviewed-on: https://code.wireshark.org/review/4133
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2014-09-16 20:16:26 +00:00
Jeff Morriss 2497482e34 Don't print non-printable characters in AX.25 addresses.
Add a new routine to wsutil to make this easy: printable_char_or_period().

Bug: 10439
Change-Id: I0eb2bb6bc0676a1035c3d845b5e20276fa04de60
Reviewed-on: https://code.wireshark.org/review/3981
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2014-09-04 12:46:06 +00:00
Guy Harris 2e67941b4c Use the <wsutil/ws_diag_control.h> stuff to disable -Wdeprecated-declarations.
Change-Id: I4b1fcbf5b25f2515d45015c9e1c4a94d6cfbc79c
Reviewed-on: https://code.wireshark.org/review/3883
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-08-27 21:57:30 +00:00
Guy Harris d04ec412d6 Use FreeRADIUS's warning pragma controls to suppress Apple complaints.
Apple would really rather that you use their Shiny Happy Frameworks
rather than those crufty old cross-platform APIs.  We are a
cross-platform program, and will use platform-specific APIs only if
there's enough benefit to doing so - and, in this case, that means
"using the platform-specific APIs on OS X and the other APIs on other
platforms", so that's two code paths to maintain, so "enough benefit"
has to outweigh the issues with that.

Change-Id: I370ba469a6f5892143d72179d15c9fe22d664fdf
Reviewed-on: https://code.wireshark.org/review/3881
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-08-27 21:17:37 +00:00
Guy Harris cda5c16667 Clean up capinfos output.
Make sure there's always a space between a number and "[TGMK]bytes",
"[TGMK]bits", and "[TGMK]packets".

Change-Id: I710385303e451e9aea6fc9bbea562f59ca0d22c9
Reviewed-on: https://code.wireshark.org/review/3810
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-08-24 08:57:13 +00:00
Graham Bloice 97546165fa Modify includes of config.h so that out-of-tree builds, i.e. CMake
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>
2014-08-24 08:04:08 +00:00
Bill Meier 0c38cf3c7b plugins.c: cleanup plugins_scan_dir()
add_plugin() no longer returns ENOMEM. Remove code in
 plugins_scan_dir() which printed an error message
 if ENOMEM returned by add_plugin().

 Fix comment re add_plugin() return values.

Change-Id: Id5170c28e2a55884d41ceebc4e07f16389b75a2a
Reviewed-on: https://code.wireshark.org/review/3774
Reviewed-by: Bill Meier <wmeier@newsguy.com>
2014-08-21 23:58:15 +00:00
Roland Knall bed29af46d Extcap Capture Interface
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>
2014-08-21 03:34:02 +00:00
Guy Harris 479e2881f8 The "MPEG-2" CRC-32 is also the ATM CRC-32.
Use it in the ATM dissector, and use a tvbuff version, so that we don't
do tvb_get_ptr() ourselves.

Change-Id: I0bd3594bc739e0cca447ac06f34a471441cf2e70
Reviewed-on: https://code.wireshark.org/review/3513
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-08-08 19:52:08 +00:00
Guy Harris cf5f0d3827 Fix the polynomial for the CCITT CRC.
And note that it's the same polynomial for the MPEG-2 CRC.

Change-Id: Ie89e392156ae77a2adeec3eb8e704aa75c0cd0dc
Reviewed-on: https://code.wireshark.org/review/3512
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-08-08 19:21:12 +00:00
Guy Harris 6f104a0ffb Clean up the CRC-10 code.
Have the wsutil routine just accumulate the stuff from the buffer handed
to us.  Have the IUUP dissector deal with the extra stuff.  Add a
update_crc10_by_bytes_tvb() routine, which is passed a tvbuff, offset,
and length, and use that rather than using tvb_get_ptr() in dissectors.

Change-Id: Iadd0823c764080e60d1339abb94d2e19150eabfe
Reviewed-on: https://code.wireshark.org/review/3509
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-08-08 18:09:02 +00:00
Guy Harris 9b9005eb94 The DRM DCP CRC-16 is the same as the X.25 CRC-16.
So just use crc16_x25_ccitt_tvb(), which goes a byte at a time rather
than a bit at a time, and which takes a tvbuff rather than requiring you
to call tvb_get_ptr().

It also doesn't 1's-complement the result, so we can compare it against the
0x1D0F in ETSI TS 102 821 V1.4.1 (2012-10) rather than against a
1's-complement version, 0xE2F0.

Change-Id: Ia513f851f0a8ff1e7853278ddf3618c532fb2aba
Reviewed-on: https://code.wireshark.org/review/3507
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-08-08 17:11:03 +00:00
Guy Harris 22ad90cdc8 Add routines for CRC-16 with a polynomial of 0x3D65.
There are routines that take a buffer and a length and that take a
tvbuff, offset, and length; use those routines in the DNP dissector
(which no longer needs its own table and loop), and use the tvbuff
routine instead of calling tvb_get_ptr().

Change-Id: Ic67b0f3b65b94ea47c0fdc2f3d3b6f88df77f9c6
Reviewed-on: https://code.wireshark.org/review/3505
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-08-08 15:58:06 +00:00
Guy Harris ad4d672976 Add a CRC32_ACCUMULATE() macro for a single CRC-32 step and use it.
Change-Id: I9462d45c5db6d54c0ee695046cb72be1acf379e8
Reviewed-on: https://code.wireshark.org/review/3497
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-08-08 08:06:11 +00:00
Guy Harris 74312299f2 Fix indentation.
Change-Id: I4342ec7723c43f8e12d6187609a1493a61725d31
Reviewed-on: https://code.wireshark.org/review/3492
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-08-08 07:19:36 +00:00
Guy Harris 0734ac385f Rename buffer_ routines to ws_buffer_ to avoid name collisions.
In particular, epan/wslua/lrexlib.c has its own buffer_ routines,
causing some linker warnings on some platforms, as reported in bug
10332.

(Not to be backported to 1.12, as that would change the API and ABI of
libwsutil and libwiretap.  We should also make the buffer_ routines in
epan/wslua/lrexlib.c static, which should also address this problem, but
the name change avoids other potential namespace collisions.)

Change-Id: I1d42c7d1778c7e4c019deb2608d476c52001ce28
Reviewed-on: https://code.wireshark.org/review/3351
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-08-02 11:01:29 +00:00
Jeff Morriss edb7a91105 Make the nameres test suite work out of tree by looking for the global hosts
file in the build directory (rather than the source directory).

Change-Id: I365e573ee84e9a41aa76f4aa9a4a6efaf42fb60e
Reviewed-on: https://code.wireshark.org/review/3334
Reviewed-by: Evan Huus <eapache@gmail.com>
2014-08-02 01:00:08 +00:00
Evan Huus d610ef23a2 Add some #includes to satisfy check-abi
Change-Id: I705268d327b7dd96ed86bfdc8d7fe7d968e3e541
Reviewed-on: https://code.wireshark.org/review/3181
Reviewed-by: Evan Huus <eapache@gmail.com>
2014-07-23 17:48:34 +00:00
Gerald Combs 59ef97dd65 [WIP] Add a conversation dialog.
Items are sorted by value.

Move common conversation code to ui/conversation_hash.[ch]. Add a
conversation_type_e enum along with convenience functions for fetching
titles, tap names, etc.

We have a single main dialog instead of a main dialog + individual
protocol dialogs. It de-clutters the statistics menu and results in
simpler code. Conversation type tabs can be added and removed within the
dialog itself. The tab list is sticky and saved with the current profile
when the dialog closes. Data can be copied as CSV or YAML.

Add a FilterAction class and a corresponding filterAction slot to
MainWindow. Use it for the Conversations context menu.

Add an addressResolutionChanged signal and related plumbing.

Get rid of the iterator members in the conversation item struct. Update
the GTK+ code accordingly.

Excercise for the reader:
- Update TShark to use the common hash code.

Ping-Bug: 9231
Ping-Bug: 8703
Ping-Bug: 6727
Change-Id: I8728d771fc5b1a85937bed9d898e53c3ecc3a544
Reviewed-on: https://code.wireshark.org/review/2987
Reviewed-by: Michael Mann <mmann78@netscape.net>
2014-07-21 23:19:09 +00:00
Guy Harris f724cae763 Only ABI-check strncasecmp.h if strncasecmp() is part of the API/ABI.
Some routines Wireshark uses are present in some, but not all,
platforms; for routines that would be used on all platforms, libwsutil
provides its own implementations on platforms that lack them.

On platforms that provide a routine, that routine will not be part of
the API and ABI, and, if we do an API or ABI check using the header
libwsutil provides to declare the function on platforms that lack it, we
may have a collision between the declaration in our header and the
declaration in a system header.

There's no guarantee that we can make them match, as the declaration
might differ from platform to platform and from platform version to
platform version, so we simply leave the header file out of the check if
we have the function on the platform on which we're checking the API or
ABI.

Change-Id: I8a23e63d9e17e5c1f5a83304dbe14d1e7df22e7e
Reviewed-on: https://code.wireshark.org/review/3115
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-07-19 07:24:01 +00:00
Guy Harris 644c1d5350 Add extern "C", to let this be used from C++.
Change-Id: I3c7d89b7aef301b49f3358ffb9b637acb00f720b
Reviewed-on: https://code.wireshark.org/review/3111
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-07-19 00:55:51 +00:00
Guy Harris d4dab16a3f Only one buffer.c, please.
Otherwise, if you link with both libwiretap and libfiletap, it's
anybody's guess which one you get.  That means you're wasting memory
with two copies of its routines if they're identical, and means
surprising behavior if they're not (which showed up when I was debugging
a double-free crash - fixing libwiretap's buffer_free() didn't fix the
problem, because Wireshark happened to be calling libfiletap' unfixed
buffer_free()).

There's nothing *tap-specific about Buffers, anyway, so it really
belongs in wsutil.

Change-Id: I91537e46917e91277981f8f3365a2c0873152870
Reviewed-on: https://code.wireshark.org/review/3066
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-07-15 23:43:32 +00:00
Graham Bloice 9ba0a18d12 Fix up library names when using CMake on Windows
Change-Id: I3573e69eb54044bb915161756dbb8f18cc769061
Reviewed-on: https://code.wireshark.org/review/2957
Reviewed-by: Graham Bloice <graham.bloice@trihedral.com>
2014-07-15 20:37:44 +00:00
Bill Meier 14f943403a Remove $Id$
Change-Id: Iae71c6e65000471f251717a172c5f4b812ac1bd3
Reviewed-on: https://code.wireshark.org/review/3011
Reviewed-by: Bill Meier <wmeier@newsguy.com>
2014-07-11 20:04:15 +00:00
Pascal Quantin e1bad3cd9b Remove a useless line now that nghttp2 library has moved to /epan
Change-Id: I41c876620e691f2e217fc9249d6abae01ea81b7f
Reviewed-on: https://code.wireshark.org/review/2975
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2014-07-10 07:31:03 +00:00
Guy Harris 9b182b7097 Revert "See if we can get rid of the "lib" in front of "wsutil" on Windows."
This reverts commit c5a50df51f.

Most of the change to remove "lib" seems to work, but the list of libraries to sign appears not to be in the source repository, so I can't make that step work.

Change-Id: I6ead152fc308480d02266b0f3f0caaa873caf6d2
Reviewed-on: https://code.wireshark.org/review/2973
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-07-10 00:59:31 +00:00
Guy Harris c5a50df51f See if we can get rid of the "lib" in front of "wsutil" on Windows.
"libXXX" is a UN*X convention; see whether we can do without it on
Windows.

Change-Id: I03a377ed5121a8dff7a53203b34e441abffcbb85
Reviewed-on: https://code.wireshark.org/review/2968
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-07-09 23:23:47 +00:00
Graham Bloice 4b5967f683 Moved nghttp2 to epan
Cleaned up nghttp2 build

Change-Id: I9f7adc12936155e0ffc01ec825b5aff95279f97d
Reviewed-on: https://code.wireshark.org/review/2937
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Reviewed-by: Evan Huus <eapache@gmail.com>
2014-07-09 05:31:31 +00:00
Peter Wu f2b4daf400 Add printf-format annotations, fix garbage
The WRETH dissector showed up some garbage in the column display. Upon
further inspection, it turns out that the format string had a trailing
percent sign which caused (unsigned)-1 to be returned by
g_printf_string_upper_bound (in emem_strdup_vprintf). Then ep_alloc is
called with (unsigned)-1 + 1 = 0 memory, no wonder that garbage shows
up. ASAN could not even catch this error because EP is in charge of
this.

So, start adding G_GNUC_PRINTF annotations in each header that uses
the "fmt" or "format" paramters (grepped + awk). This revealed some
other errors. The NCP2222 dissector was missing a format string (not
a security vuln though).

Many dissectors used val_to_str with a constant (but empty) string,
these have been replaced by val_to_str_const. ASN.1 dissectors
were regenerated for this.

Minor: the mate plugin used "%X" instead of "%p" for a pointer type.

The ncp2222 dissector and wimax plugin gained modelines.

Change-Id: I7f3f6a3136116f9b251719830a39a7b21646f622
Reviewed-on: https://code.wireshark.org/review/2881
Reviewed-by: Evan Huus <eapache@gmail.com>
2014-07-06 23:00:40 +00:00
Peter Wu ec6a22dc3b Workaround for ASAN failure in _ws_mempbrk_sse42
When ASAN is enabled, a false buffer overflow warning is raised. It is
a false positive since everything starting at '\0' will get ignored by
the PCMPISTRI instruction (see Intel(r) SSE4 Programming Reference,
5.3.1.5 "Valid/Invalid Override of Comparisons", and 5.3.1.2
"Aggregrate Operation", case "Equal any").

Concerns about reading past the end of the page turns out to be false,
there always seem to be a valid page after the current one (for static
and heap memory at least). It is an non-issue since strlen also does
not have issues with this.

Rather than fully disabling SSE 4.2 and using the fallback
implementation for ASAN-enabled builds, read the set of characters from
'a' into the mask without a 128-bit read and then still use SSE 4.2
for the actual query.

Bug: 10214
Change-Id: Ie4a526e60b43bfc08dd1d821556766f14a49be4d
Reviewed-on: https://code.wireshark.org/review/2618
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Reviewed-by: Evan Huus <eapache@gmail.com>
2014-07-06 22:53:34 +00:00
Guy Harris 5bfc21cf9e Clean up handling of missing functions.
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>
2014-07-06 21:03:09 +00:00
Guy Harris 2a740bd4d5 Squash casting-away-constness warnings.
BYTE2WORD() doesn't modify what its argument points to, so make that
argument a const unsigned char *.

This lets us get rid of casts that cast away constness.

Change-Id: I44a58bd3d75fc77a022b7e8f7fa9b43990bcf81c
Reviewed-on: https://code.wireshark.org/review/2876
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-07-06 11:15:18 +00:00
Guy Harris c654add76c Add consts to casts to suppress warnings.
Pull the "cast this to a pointer to an __m128i" idiom into a macro, and
use the macro; have that macro use "const" in the casts.

Change-Id: Ife90b7daef2f09368790f3b2ffbb227d6d794dea
Reviewed-on: https://code.wireshark.org/review/2871
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-07-06 01:30:18 +00:00
Alexis La Goutte 3686713e7c Update libnghttp2 to latest master (add support for draft-13)
Bug:10256
Change-Id: I24275f1b67120f69cfd673f7e5598a50b3c7566f
Reviewed-on: https://code.wireshark.org/review/2145
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2014-07-05 07:11:21 +00:00
Guy Harris 06bd8045d7 Make wsutil depend on gitversion.
wsutil contains the only code that uses version.h; make the dependency
explicit, to see whether that fixes the current build issues with Debian
packaging.

Also, get rid of all *other* dependencies on gitversion.

Change-Id: I89fa5e4112633b83a1a7dfa349bc337e3688575f
Reviewed-on: https://code.wireshark.org/review/2823
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-07-03 17:16:54 +00:00
Guy Harris f3c62edc77 Move the GLib version info string stuff to get_glib_version_info().
Change-Id: I1013ad9a0a98bcbf07fe597f9e932f2ea1a5cd28
Reviewed-on: https://code.wireshark.org/review/2818
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-07-03 15:10:25 +00:00
Guy Harris 0e4e825309 Add license information to the copyright information.
See

	http://www.gnu.org/prep/standards/html_node/_002d_002dversion.html

Change-Id: I19c1cf560a1bb7ed7d7312bea727550977d66120
Reviewed-on: https://code.wireshark.org/review/2787
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-07-03 01:33:51 +00:00
Guy Harris ac88f71220 Clean up a comment.
SetProcessDEPPolicy() is the API; PSetProcessDEPPolicy is just a local
pointer variable that either points to that API's implementation (if
it's available) or is null (if it isn't).

Change-Id: I676fbb75019e32af511cefa6f1c7b7124ac9d8e8
Reviewed-on: https://code.wireshark.org/review/2735
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-06-30 23:03:22 +00:00
Pascal Quantin e2801d0da0 Windows: fix update of version information in wireshark and tshark
Broken since gc46329c

Change-Id: I00146675d16db021e2cbb7b16841ea9ecb1439b9
Reviewed-on: https://code.wireshark.org/review/2703
Reviewed-by: Evan Huus <eapache@gmail.com>
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2014-06-30 05:13:24 +00:00
Guy Harris fe42762f23 Move some more stuff into wsutil.
Move the routines to parse numerical command-line arguments there.

Make cmdarg_err() and cmdarg_err_cont() routines in wsutil that just
call routines specified by a call to cmdarg_err_init(), and have
programs supply the appropriate routines to it.

Change-Id: Ic24fc758c0e647f4ff49eb91673529bcb9587b01
Reviewed-on: https://code.wireshark.org/review/2704
Reviewed-by: Evan Huus <eapache@gmail.com>
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-06-29 23:03:24 +00:00
Alexis La Goutte b632c23a3b Fix Dead Store (Dead assignement/Dead increment) warning found by Clang
Change-Id: I5c66a456b7986e3fd7672deaf7ce773467873324
Reviewed-on: https://code.wireshark.org/review/2653
Reviewed-by: Jeff Morriss <jeff.morriss.ws@gmail.com>
2014-06-26 02:41:48 +00:00
Guy Harris dbd409d041 Fix OS X CMake build.
I have ***NO*** idea why this makes a difference, but, without this
change, APPLE_CORE_FOUNDATION_LIBRARY is apparently *not* set correctly
for wsutil/CMakeLists.txt, and, with this change, it is.  I guess
there's something magic involved here with "global" CMake variables or
something crazy such as that.

Change-Id: I7a0046b9c249568cd666720838104f48e854e203
Reviewed-on: https://code.wireshark.org/review/2612
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-06-24 07:10:12 +00:00
Guy Harris 7ba4aef599 Don't declare CFString_to_C_string() if we don't have OS X frameworks.
You shouldn't be including cfutils.h if you don't have CF, but this may
be tripping up the ABI checker.

Change-Id: Ib736a33013c6ab0f416ebbedaa4ebf112bade6f7
Reviewed-on: https://code.wireshark.org/review/2530
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-06-22 01:11:29 +00:00
Guy Harris c46329c27b Add a routine to return a version string including VCS information.
Add a routine get_ws_vcs_version_info() that, for builds from a tree
checked out from Wireshark's version control system, returns a string
that includes both the Wireshark version number and an indication of
what particular VCS version was checked out, and just returns
Wireshark's version number for other builds.

Use that routine rather than manually gluing VERSION and the Git version
number together.

("vcs", not "git", just in case we do something bizarre or mercurial
some day. :-))

Change-Id: Ie5c6dc83b9d3f56655eaef30fec3ec9916b6320d
Reviewed-on: https://code.wireshark.org/review/2529
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-06-22 01:06:25 +00:00
Guy Harris a70dea1956 Move get_os_major_version() to wsutil and rename it to get_windows_major_version().
It's Windows-specific, so name it appropriately.

Change-Id: Ic518cbfabebf95757f6b308a4d547a6cabed6a5e
Reviewed-on: https://code.wireshark.org/review/2528
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-06-21 21:33:11 +00:00
Guy Harris 73c7addfa6 Move the routine to get memory information to wsutil.
Change-Id: I94717cec5a464166585b258a83f8ccdaccf8d5ff
Reviewed-on: https://code.wireshark.org/review/2525
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-06-21 20:31:53 +00:00
Guy Harris 3c96970544 Get rid of trailing blank lines.
Change-Id: Ie28a9904fd8befe98677c9f9f169beffe4df1d5d
Reviewed-on: https://code.wireshark.org/review/2524
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-06-21 20:22:13 +00:00
Guy Harris 00f23a4f5c Move the routine to get a CPU information string to wsutil.
Change-Id: Ibf6e57d7382cbbd831a0367fd48d684118712408
Reviewed-on: https://code.wireshark.org/review/2523
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-06-21 20:21:03 +00:00
Guy Harris 9e8fb87a3e Clean up inclusion of cfutils.h.
Change-Id: I7da381f12db6721448e15d30d441a943127cbca1
Reviewed-on: https://code.wireshark.org/review/2522
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-06-21 19:54:40 +00:00
Guy Harris 83d832c8ee Get rid of trailing blank lines.
Change-Id: Ib806d07aea8e4d903f084171ce2021c6f3c3fc07
Reviewed-on: https://code.wireshark.org/review/2520
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-06-21 19:37:34 +00:00
Guy Harris d99d1b90f8 Add a get_compiler_info() routine in libwsutil to get compiler information.
Change-Id: I8ccb6187f2ee0255460f448aee170768b6fa3f5d
Reviewed-on: https://code.wireshark.org/review/2519
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-06-21 19:35:06 +00:00