Look for shellcheck in Autotools and CMake, and if found add a target
that checks some of our shell scripts.
Add a "source=" directive to targets that include test-common.sh so
that shellcheck will correctly process the scripts. Note that this
requires shellcheck 0.4.0 or later.
To do: Fix the issues that shellcheck found and check more scripts.
Change-Id: I441f9f59d8a3f8eec6718119c2370f2560b98f3c
Reviewed-on: https://code.wireshark.org/review/17943
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
This is a C99 feature which we can use now.
Change-Id: I84a63d6bf282b79c9f0da0543b3b4f5a0cf0c81a
Reviewed-on: https://code.wireshark.org/review/17733
Reviewed-by: João Valverde <j@v6e.pt>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Udpdump is a generic UDP receiver that exports datagram in PCAP format.
Change-Id: I52620a92b12530b6f9b5449c43e692663acdfc14
Reviewed-on: https://code.wireshark.org/review/17195
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: Roland Knall <rknall@gmail.com>
Flexible array members are supported by gcc, clang and even MSVC2013.
Note, so far it was only used in the Windows-specific airpcap.h.
Trailing commas in enum declaration are already in use since for
these dissectors (commit ID is the first occurrence):
epan/dissectors/packet-gluster.h v2.1.0rc0-1070-g3b706ba
epan/dissectors/packet-ipv6.c v2.1.2rc0-81-ge07b4aa
epan/dissectors/packet-netlink.h v2.3.0rc0-389-gc0ab12b
epan/dissectors/packet-netlink-netfilter.c v2.3.0rc0-239-g1767e08
epan/dissectors/packet-netlink-route.c v2.3.0rc0-233-g2a80b40
epan/dissectors/packet-quic.c v2.3.0rc0-457-gfa320f8
Inline functions using the "inline" keyword are supported via all glib
versions we support (if it is missing, glib will define a suitable
inline macro).
Other c99 functions listed in the README.developer document were found
to be compatible with GCC 4.4.7, Clang 3.4.2 and MSVC 2013.
Change-Id: If5bab03bfd8577b15a24bedf08c03bdfbf34317a
Reviewed-on: https://code.wireshark.org/review/17421
Reviewed-by: Guy Harris <guy@alum.mit.edu>
FreeBSD requires socket.h to be included when testing if struct
sockaddr contains sa_len.
Change-Id: Ibe18a88ce19a4e8487bb00d7fa822a380ec8c98d
Reviewed-on: https://code.wireshark.org/review/17008
Reviewed-by: Michael Tüxen <tuexen@wireshark.org>
Compress the source tarball using xz instead of bzip2. Other open source
projects (including many of our dependencies) have been using xz for a
while so hopefully this won't be too much of a shock.
Remove the patch-bzip2 Autotools target while we're here.
Change-Id: I456d27b6cd56a43aba829bd45938f98568eb7b1d
Reviewed-on: https://code.wireshark.org/review/16735
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: João Valverde <j@v6e.pt>
The buildbots that create packages run `perl make-version.pl
--set-release` at the beginning of each build. This in turn sets the
extra version information for our generated packages to "-g<abbreviated
hash>" for development builds, or "" (an empty string) for release
builds.
Hardcoding the extra version information to "-git" in CMakeLists.txt and
configure.ac means we end up with wireshark-2.1.0-git.tar.bz2,
Wireshark-win64-2.1.0-git.exe, etc. for release builds. Set them back to
empty strings.
Change-Id: Icdfb248d25ad4adbc9abe0bd938e410590e42828
Reviewed-on: https://code.wireshark.org/review/16439
Reviewed-by: Gerald Combs <gerald@wireshark.org>
The qtchooser package in many (all?) distros installs executable symlinks to
qtchooser that can mislead AC_PROG_PATH if the corresponding Qt linguist
tools package is missing.
Bug: 12570
Change-Id: I98795a3a7b8a05214c56a0c7b50829ea3b2976fa
Reviewed-on: https://code.wireshark.org/review/16316
Petri-Dish: João Valverde <j@v6e.pt>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Adrian Simionov <daniel.simionov@gmail.com>
Reviewed-by: João Valverde <j@v6e.pt>
Change-Id: Ia2ee723227e1b331eeec0f0463654f35a4c9f37b
Reviewed-on: https://code.wireshark.org/review/14508
Petri-Dish: Martin Kaiser <wireshark@kaiser.cx>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Martin Kaiser <wireshark@kaiser.cx>
See with CMake (ga9070e1a90)
Change-Id: If768b663f9ed032503fc121785b078c0107cdadc
Reviewed-on: https://code.wireshark.org/review/15909
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
sshdump and ciscodump require libssh >= 0.6.0. Check for this version and
only build them if a sufficient version is present. (The other checks
stay; in particular, ssh_userauth_agent doesn't exist on Windows and
must be checked separately.)
Bug: 12507
Change-Id: Ibe42b0cbb597cd9c4aab51f44d48185940ad954b
Reviewed-on: https://code.wireshark.org/review/15882
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Dario Lombardo <lomato@gmail.com>
Tested-by: Dario Lombardo <lomato@gmail.com>
Reviewed-by: Michael Mann <mmann78@netscape.net>
Remove the "-git" version extra default in CMakeLists.txt and
configure.ac, otherwise we end up with wireshark-2.1.0-git.tar.bz2,
Wireshark-win64-2.1.0-git.exe, etc.
Change-Id: I89b9beaa87ac475950e24a3111cf09e878a33ff7
Reviewed-on: https://code.wireshark.org/review/15784
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Ping-Bug: 10203
Change-Id: Ifa24870d711449b87e9839dd46af614e4aa28fde
Reviewed-on: https://code.wireshark.org/review/15608
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Martin Mathieson <martin.r.mathieson@googlemail.com>
PACKAGE_TARNAME is still "wireshark" (generated by autoconf).
Change-Id: I93b69c5b29241a78fbabf35e80e6d2dee53ea3ae
Reviewed-on: https://code.wireshark.org/review/15516
Reviewed-by: João Valverde <j@v6e.pt>
Minor cleanup, remove old comment and make both tests identical.
Change-Id: I21aaf2bb7e74878013153534f758879879d23f6e
Reviewed-on: https://code.wireshark.org/review/15509
Petri-Dish: João Valverde <j@v6e.pt>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: João Valverde <j@v6e.pt>
We need it when we don't have the flex-generated files (i.e., we're
building from git rather than a ("make dist") source tarball).
Change-Id: I824ce4b7f2a8f767e096de050cb3cd0b0449ed62
Reviewed-on: https://code.wireshark.org/review/15423
Reviewed-by: João Valverde <j@v6e.pt>
Not needed anymore.
Change-Id: I4743554fc488767516b5c21b36eec19a4a08c818
Reviewed-on: https://code.wireshark.org/review/15352
Petri-Dish: João Valverde <j@v6e.pt>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Reviewed-by: João Valverde <j@v6e.pt>
Let the make recipe fail if a dependency is missing. That is more user-friendly
(a2x: command not found) than an empty target and having to re-run configure.
Test for both w3m and lynx when generating text files. If neither is available
skip it.
Add an explicit target to build pdf documentation.
Change-Id: I760475acd7278f5ab5a782c1828a134c58cf7b42
Reviewed-on: https://code.wireshark.org/review/15229
Petri-Dish: João Valverde <j@v6e.pt>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: João Valverde <j@v6e.pt>
Since Ie5e670b769eb0674950f3679ef511047641c2873 we no longer support
synchronous name resolution.
Change-Id: Icc65bd665bd610d89f894549e77608cfb5ef4c53
Reviewed-on: https://code.wireshark.org/review/15165
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>
Some versions of rpmbuild fail this test. Use rpm instead.
Fixup for bbea6a1c9f.
Change-Id: I6068541d5944b08140ea7fc5efd13ad488dda1f3
Reviewed-on: https://code.wireshark.org/review/15131
Reviewed-by: João Valverde <j@v6e.pt>
This allows keeping the code-sharing with the static linking.
This "fixes" a hypothetical ABI mismatch with wsutil and avoids pulling more
external dependencies to wsutil than strictly necessary.
A nice side-effect is that libwsutil no longer depends on version.h.
Follow up to f95976eefc.
Change-Id: I8f0d6a557ab3f7ce6f0e2c269124c89f29d6ad23
Reviewed-on: https://code.wireshark.org/review/15002
Petri-Dish: João Valverde <j@v6e.pt>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: João Valverde <j@v6e.pt>
Add a static "-git" extra version tag for VCS snapshot builds, to be
replaced when running 'make-version -r'.
Change-Id: If29fca04029ed3129aa2332492dc536091049955
Reviewed-on: https://code.wireshark.org/review/15032
Reviewed-by: João Valverde <j@v6e.pt>
Do not use default ACTION_IF_NOT_FOUND.
Fixes bug in d77029d55d.
Change-Id: Ia6d27015ef51add19e5457bdf035e08a6c444a43
Reviewed-on: https://code.wireshark.org/review/14906
Reviewed-by: João Valverde <j@v6e.pt>
Remove HTML_VIEWER compile-time setting.
If xdg-open doesn't exist use user web browser preference as fallback.
Change-Id: I3b4a4a1a36b0192d75f2c97595f37d0d88a0941e
Reviewed-on: https://code.wireshark.org/review/14805
Petri-Dish: João Valverde <j@v6e.pt>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Tested-by: Peter Wu <peter@lekensteyn.nl>
Reviewed-by: João Valverde <j@v6e.pt>
Having to define two macros for marking a function as never returning
seems a bit redundant. Merge the MSVC and GCC-like attributes into a
single WS_NORETURN.
Tested with Clang 3.7.1, GCC 4.4.7 and even GCC 4.1.2 using this small
program (-Wall -Wextra, the first two generate warnings for
uninitialized variables, the last one compiles without warnings):
#include <stdlib.h>
__attribute__((noreturn)) void foo() { exit(1); }
__attribute__((noreturn)) void bar();
void bar() { exit(1); }
int main() {
int j, i;
if (i) { bar(); return j; }
foo();
return j;
}
Change-Id: I7d19c15e61b8f8fa4936864407199c4109f8cc82
Reviewed-on: https://code.wireshark.org/review/14822
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Obviate the need for libtool bug work around.
Requires libtool 2.2.2 as the first fully working release of the
2.0 branch.
Change-Id: I925f44f06b4c8e3bb06d356308afe1bde1b149f3
Reviewed-on: https://code.wireshark.org/review/14811
Petri-Dish: João Valverde <j@v6e.pt>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: João Valverde <j@v6e.pt>