aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt7
-rw-r--r--Makefile.am61
-rw-r--r--Makefile.common23
-rw-r--r--Makefile.nmake11
-rw-r--r--configure.ac6
-rw-r--r--extcap/Makefile.am74
-rw-r--r--extcap/Makefile.common34
-rw-r--r--extcap/Makefile.nmake143
-rw-r--r--extcap/randpktdump.c2
-rwxr-xr-xpackaging/macosx/osx-app.sh59
-rw-r--r--randpkt.c4
-rw-r--r--randpkt_core/CMakeLists.txt47
-rw-r--r--randpkt_core/Makefile.am73
-rw-r--r--randpkt_core/Makefile.common28
-rw-r--r--randpkt_core/Makefile.nmake78
-rw-r--r--randpkt_core/doxygen.cfg.in81
-rw-r--r--randpkt_core/randpkt_core.c (renamed from randpkt-core.c)4
-rw-r--r--randpkt_core/randpkt_core.h (renamed from randpkt-core.h)2
18 files changed, 644 insertions, 93 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index ecba8a1ecb..dde0c995a5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1018,6 +1018,7 @@ add_subdirectory( caputils )
add_subdirectory( codecs )
add_subdirectory( docbook )
add_subdirectory( epan )
+add_subdirectory( randpkt_core )
add_subdirectory( tools/lemon )
add_subdirectory( ui )
add_subdirectory( wiretap )
@@ -1205,6 +1206,7 @@ set( IN_FILES
packaging/macosx/Info.plist.in
packaging/macosx/osx-dmg.sh.in
packaging/macosx/Wireshark_package.pmdoc/index.xml.in
+ randpkt_core/doxygen.cfg.in
ui/doxygen.cfg.in
ui/gtk/doxygen.cfg.in
ui/qt/doxygen.cfg.in
@@ -1231,6 +1233,7 @@ link_directories(
${CMAKE_BINARY_DIR}/caputils
${CMAKE_BINARY_DIR}/codecs
${CMAKE_BINARY_DIR}/epan
+ ${CMAKE_BINARY_DIR}/randpkt_core
${CMAKE_BINARY_DIR}/wiretap
${CMAKE_BINARY_DIR}/wsutil
)
@@ -2146,6 +2149,7 @@ endif()
if(BUILD_randpkt)
set(randpkt_LIBS
+ randpkt_core
wiretap
wsutil
${M_LIBRARIES}
@@ -2158,7 +2162,6 @@ if(BUILD_randpkt)
)
set(randpkt_FILES
randpkt.c
- randpkt-core.c
)
add_executable(randpkt ${randpkt_FILES})
set_extra_executable_properties(randpkt "Executables")
@@ -2398,13 +2401,13 @@ endif()
if(BUILD_randpktdump)
set(randpktdump_LIBS
+ randpkt_core
wiretap
${GLIB2_LIBRARIES}
${CMAKE_DL_LIBS}
)
set(randpktdump_FILES
extcap/randpktdump.c
- randpkt-core.c
)
add_executable(randpktdump WIN32 ${randpktdump_FILES})
diff --git a/Makefile.am b/Makefile.am
index 617db111ec..1976a2bfd2 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -45,14 +45,11 @@ bin_PROGRAMS = \
@dumpcap_bin@ \
@reordercap_bin@ \
@rawshark_bin@ \
- @androiddump_bin@ \
- @sshdump_bin@ \
- @randpktdump_bin@ \
@echld_test_bin@
-EXTRA_PROGRAMS = wireshark-gtk wireshark tshark tfshark capinfos captype editcap \
- mergecap dftest randpkt text2pcap dumpcap reordercap rawshark androiddump \
- sshdump randpktdump echld_test
+EXTRA_PROGRAMS = wireshark-gtk wireshark tshark tfshark capinfos captype \
+ editcap mergecap dftest randpkt text2pcap dumpcap reordercap \
+ rawshark echld_test
#
# Wireshark configuration files are put in $(pkgdatadir).
@@ -528,46 +525,6 @@ rawshark_LDADD = \
@LIBGNUTLS_LIBS@ \
@LIBSMI_LDFLAGS@
-if ENABLE_STATIC
-androiddump_LDFLAGS = -Wl,-static -all-static
-else
-androiddump_LDFLAGS = -export-dynamic
-endif
-
-# Libraries and plugin flags with which to link androiddump.
-androiddump_LDADD = \
- wiretap/libwiretap.la \
- wsutil/libwsutil.la \
- @GLIB_LIBS@ \
- @SOCKET_LIBS@
-
-if ENABLE_STATIC
- sshdump_LDFLAGS = -Wl,-static -all-static
-else
- sshdump_LDFLAGS = -export-dynamic
-endif
-
-# Libraries and plugin flags with which to link sshdump.
-sshdump_LDADD = \
- wiretap/libwiretap.la \
- wsutil/libwsutil.la \
- @GLIB_LIBS@ \
- @LIBSSH_LIBS@ \
- @SOCKET_LIBS@
-
-if ENABLE_STATIC
- randpktdump_LDFLAGS = -Wl,-static -all-static
-else
- randpktdump_LDFLAGS = -export-dynamic
-endif
-
-# Libraries and plugin flags with which to link randpktdump.
-randpktdump_LDADD = \
- wiretap/libwiretap.la \
- wsutil/libwsutil.la \
- @GLIB_LIBS@ \
- @SOCKET_LIBS@
-
# Libraries with which to link text2pcap.
text2pcap_LDADD = \
wsutil/libwsutil.la \
@@ -612,6 +569,7 @@ reordercap_LDADD = \
# Libraries with which to link randpkt.
randpkt_LDADD = \
+ randpkt_core/librandpkt_core.a \
wiretap/libwiretap.la \
wsutil/libwsutil.la \
@GLIB_LIBS@ \
@@ -1407,9 +1365,11 @@ DIST_SUBDIRS = \
help \
packaging \
plugins \
+ randpkt_core \
tools \
wiretap \
wsutil \
+ extcap \
docbook
SUBDIRS = \
@@ -1426,6 +1386,8 @@ SUBDIRS = \
ui \
@wireshark_SUBDIRS@ \
ui/cli \
+ randpkt_core \
+ extcap \
. \
doc
@@ -1638,7 +1600,10 @@ osx-app: $(PROGRAMS) $(SCRIPTS) $(MANS) $(DATA) packaging/macosx/Info.plist
cd $(srcdir)/packaging/macosx ; \
./osx-app.sh @OSX_APP_FLAGS@ \
--create-bundle \
- --binary-path ../staging/$(PACKAGE).inst$(bindir) ; \
+ --binary-path ../staging/$(PACKAGE).inst$(bindir) \
+ --plugin-path ../staging/$(PACKAGE).inst$(plugindir) \
+ --extcap-path ../staging/$(PACKAGE).inst$(extcapdir) \
+ --library-path ../staging/$(PACKAGE).inst$(libdir) ; \
else \
echo "Error: OS X packaging tools not found." ; \
echo "Package build abandoned." ; \
@@ -1694,6 +1659,7 @@ checkapi: checkapi_local
cd epan/dissectors && $(MAKE) checkapi
cd epan/dissectors/dcerpc && $(MAKE) checkapi
cd plugins && $(MAKE) checkapi
+ cd randpkt_core && $(MAKE) checkapi
cd wsutil && $(MAKE) checkapi
wsar_html: doxygen.cfg doxygen_global.cfg FORCE
@@ -1702,6 +1668,7 @@ if HAVE_DOXYGEN
cd epan && $(MAKE) $@
cd capchild && $(MAKE) $@
cd caputils && $(MAKE) $@
+ cd randpkt_core && $(MAKE) $@
cd ui && $(MAKE) $@
(umask 022 ; $(DOXYGEN) doxygen.cfg)
endif
diff --git a/Makefile.common b/Makefile.common
index 0f9e7e721b..9a7b401ccd 100644
--- a/Makefile.common
+++ b/Makefile.common
@@ -95,19 +95,6 @@ rawshark_SOURCES = \
$(SHARK_COMMON_SRC) \
rawshark.c
-# androiddump specifics
-androiddump_SOURCES = \
- extcap/androiddump.c
-
-# sshdump specifics
-sshdump_SOURCES = \
- extcap/sshdump.c
-
-# randpktdump specifics
-randpktdump_SOURCES = \
- randpkt-core.c \
- extcap/randpktdump.c
-
# text2pcap specifics
text2pcap_SOURCES = \
pcapio.c \
@@ -155,12 +142,7 @@ echld_test_SOURCES = \
# randpkt specifics
randpkt_SOURCES = \
- randpkt.c \
- randpkt-core.c
-
-# corresponding headers
-randpkt_INCLUDES = \
- randpkt-core.h
+ randpkt.c
# dumpcap specifics
dumpcap_SOURCES = \
@@ -184,5 +166,4 @@ dumpcap_INCLUDES = \
noinst_HEADERS = \
$(SHARK_COMMON_INCLUDES) \
$(WIRESHARK_COMMON_INCLUDES) \
- $(dumpcap_INCLUDES) \
- $(randpkt_INCLUDES)
+ $(dumpcap_INCLUDES)
diff --git a/Makefile.nmake b/Makefile.nmake
index 14875c4a6b..b1fd6f504d 100644
--- a/Makefile.nmake
+++ b/Makefile.nmake
@@ -187,7 +187,8 @@ sshdump_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
wsutil\libwsutil.lib \
$(LIBSSH_LIBS) \
-randpktdump_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
+randpktdump_LIBS= randpkt_core\randpkt_core.lib \
+ wiretap\wiretap-$(WTAP_VERSION).lib \
wsock32.lib user32.lib \
wsutil\libwsutil.lib \
$(GLIB_LIBS)
@@ -454,10 +455,10 @@ androiddump.exe : $(LIBS_CHECK) config.h androiddump.obj wsutil\libwsutil.lib wi
mt.exe -nologo -manifest "androiddump.exe.manifest" -outputresource:androiddump.exe;1
!ENDIF
-randpktdump.exe : $(LIBS_CHECK) config.h randpktdump.obj randpkt-core.obj wsutil\libwsutil.lib wiretap\wiretap-$(WTAP_VERSION).lib
+randpktdump.exe : $(LIBS_CHECK) config.h randpktdump.obj randpkt_core\randpkt_core.lib wsutil\libwsutil.lib wiretap\wiretap-$(WTAP_VERSION).lib
@echo Linking $@
$(LINK) @<<
- /OUT:randpktdump.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:WINDOWS randpktdump.obj randpkt-core.obj $(randpktdump_LIBS)
+ /OUT:randpktdump.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:WINDOWS randpktdump.obj $(randpktdump_LIBS)
<<
!IFDEF MANIFEST_INFO_REQUIRED
mt.exe -nologo -manifest "randpktdump.exe.manifest" -outputresource:randpktdump.exe;1
@@ -613,7 +614,7 @@ androiddump.obj : extcap/androiddump.c
sshdump.obj : extcap/sshdump.c
$(CC) $(CFLAGS) -Fd.\ -c $?
-randpktdump.obj : extcap/randpktdump.c randpkt-core.c
+randpktdump.obj : extcap/randpktdump.c
$(CC) $(CFLAGS) -Fd.\ -c $?
test-programs:
@@ -632,7 +633,7 @@ clean-local:
reordercap.obj nio-ie5.obj update.obj \
text2pcap-scanner.obj text2pcap-scanner.c \
config.h ps.c $(LIBS_CHECK) \
- dftest.obj dftest.exe randpkt.obj randpkt-core.obj randpkt.exe \
+ dftest.obj dftest.exe randpkt.obj randpkt.exe \
doxygen.cfg \
$(RESOURCES) libwireshark.dll wiretap-$(WTAP_VERSION).dll \
libwscodecs.lib libwsutil.dll \
diff --git a/configure.ac b/configure.ac
index 65d05fc7d6..ceb2378bf9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3059,8 +3059,8 @@ dnl
dnl check whether extcap programs should be enabled and, if they should be,
dnl check for extcap directory - stolen from Amanda's configure.ac
dnl
-dnl we don't wish to expand ${datadir} yet
-extcapdir="\${datadir}/wireshark/extcap"
+dnl we don't wish to expand ${libdir} yet
+extcapdir="\${libdir}/wireshark/extcap"
AC_ARG_WITH(extcap,
AC_HELP_STRING( [--with-extcap@<:@=DIR@:>@],
[use extcap for external capture sources (installed in DIR, if supplied) @<:@default=yes, if possible@:>@]),
@@ -3288,6 +3288,7 @@ AC_OUTPUT(
epan/nghttp2/Makefile
epan/wmem/Makefile
epan/wslua/Makefile
+ extcap/Makefile
codecs/Makefile
ui/Makefile
ui/doxygen.cfg
@@ -3324,6 +3325,7 @@ AC_OUTPUT(
plugins/wimax/Makefile
plugins/wimaxasncp/Makefile
plugins/wimaxmacphy/Makefile
+ randpkt_core/Makefile
tools/Makefile
tools/lemon/Makefile
wiretap/Makefile
diff --git a/extcap/Makefile.am b/extcap/Makefile.am
new file mode 100644
index 0000000000..08ea26e641
--- /dev/null
+++ b/extcap/Makefile.am
@@ -0,0 +1,74 @@
+# Makefile.am
+# Automake file for extcap tools
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+include ../Makefile.am.inc
+
+ACLOCAL_AMFLAGS = `../aclocal-flags`
+
+AM_CPPFLAGS += -I$(top_srcdir)/wiretap
+
+extcap_PROGRAMS = \
+ @androiddump_bin@ \
+ @randpktdump_bin@ \
+ @sshdump_bin@
+
+EXTRA_PROGRAMS = androiddump randpktdump sshdump
+
+if ENABLE_STATIC
+androiddump_LDFLAGS = -Wl,-static -all-static
+else
+androiddump_LDFLAGS = -export-dynamic
+endif
+
+# Libraries and plugin flags with which to link androiddump.
+androiddump_LDADD = \
+ ../wiretap/libwiretap.la \
+ ../wsutil/libwsutil.la \
+ @GLIB_LIBS@ \
+ @SOCKET_LIBS@
+
+if ENABLE_STATIC
+ randpktdump_LDFLAGS = -Wl,-static -all-static
+else
+ randpktdump_LDFLAGS = -export-dynamic
+endif
+
+# Libraries and plugin flags with which to link randpktdump.
+randpktdump_LDADD = \
+ ../randpkt_core/librandpkt_core.a \
+ ../wiretap/libwiretap.la \
+ ../wsutil/libwsutil.la \
+ @GLIB_LIBS@ \
+ @SOCKET_LIBS@
+
+if ENABLE_STATIC
+ sshdump_LDFLAGS = -Wl,-static -all-static
+else
+ sshdump_LDFLAGS = -export-dynamic
+endif
+
+# Libraries and plugin flags with which to link sshdump.
+sshdump_LDADD = \
+ ../wiretap/libwiretap.la \
+ ../wsutil/libwsutil.la \
+ @GLIB_LIBS@ \
+ @LIBSSH_LIBS@ \
+ @SOCKET_LIBS@
diff --git a/extcap/Makefile.common b/extcap/Makefile.common
new file mode 100644
index 0000000000..e727ea60cc
--- /dev/null
+++ b/extcap/Makefile.common
@@ -0,0 +1,34 @@
+# Makefile.common
+# Contains the stuff from Makefile.am and Makefile.nmake that is
+# a) common to both files and
+# b) portable between both files
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+# androiddump specifics
+androiddump_SOURCES = \
+ androiddump.c
+
+# randpktdump specifics
+randpktdump_SOURCES = \
+ randpktdump.c
+
+# sshdump specifics
+sshdump_SOURCES = \
+ sshdump.c
diff --git a/extcap/Makefile.nmake b/extcap/Makefile.nmake
new file mode 100644
index 0000000000..e85096164d
--- /dev/null
+++ b/extcap/Makefile.nmake
@@ -0,0 +1,143 @@
+## Makefile for building wireshark.exe with Microsoft C and nmake
+## Use: $(MAKE) /$(MAKEFLAGS) -f makefile.nmake
+#
+# We "Deploy using XCopy," which is described at
+# http://msdn.microsoft.com/en-us/library/ms235291.aspx
+
+include ..\config.nmake
+include ..\Makefile.nmake.inc
+
+############### no need to modify below this line #########
+
+CC = cl
+LINK= link
+
+LDFLAGS = /NOLOGO /INCREMENTAL:NO $(LOCAL_LDFLAGS)
+
+# We use GENERATED_CFLAGS to get around flex's non-LLP64-compliant output
+GENERATED_CFLAGS=\
+ $(STANDARD_CFLAGS) \
+ /I. /Iwiretap $(GLIB_CFLAGS) \
+ $(ZLIB_CFLAGS) /I$(PCAP_DIR)\include $(AIRPCAP_CFLAGS) \
+ $(C_ARES_CFLAGS) $(ADNS_CFLAGS) $(GNUTLS_CFLAGS) \
+ $(SMI_CFLAGS) $(GEOIP_CFLAGS) $(LIBSSH_CFLAGS) $(WINSPARKLE_CFLAGS)
+
+CFLAGS=$(WARNINGS_ARE_ERRORS) $(GENERATED_CFLAGS)
+
+.c.obj::
+ $(CC) $(CFLAGS) -Fd.\ -c $<
+
+include Makefile.common
+
+androiddump_OBJECTS = $(androiddump_SOURCES:.c=.obj)
+
+anddroiddump_WSLIBS = \
+ ..\wiretap\wiretap-$(WTAP_VERSION).lib \
+ ..\wsutil\libwsutil.lib
+
+androiddump_LIBS = $(anddroiddump_WSLIBS) \
+ wsock32.lib user32.lib \
+ $(GLIB_LIBS)
+
+randpktdump_OBJECTS = $(randpktdump_SOURCES:.c=.obj)
+
+randpktdump_WSLIBS = \
+ ..\randpkt_core\randpkt_core.lib \
+ ..\wiretap\wiretap-$(WTAP_VERSION).lib \
+ ..\wsutil\libwsutil.lib
+
+randpktdump_LIBS = $(randpktdump_WSLIBS) \
+ wsock32.lib user32.lib \
+ $(GLIB_LIBS)
+
+sshdump_OBJECTS = $(sshdump_SOURCES:.c=.obj)
+
+sshdump_WSLIBS = \
+ ..\wiretap\wiretap-$(WTAP_VERSION).lib \
+ ..\wsutil\libwsutil.lib
+
+sshdump_LIBS = $(sshdump_WSLIBS) \
+ wsock32.lib user32.lib \
+ $(LIBSSH_LIBS) \
+ $(GLIB_LIBS)
+
+EXECUTABLES=androiddump.exe randpktdump.exe
+
+!IFDEF LIBSSH_DIR
+EXECUTABLES += sshdump.exe
+!ENDIF
+
+androiddump.exe : $(LIBS_CHECK) config.h androiddump.obj $(anddroiddump_WSLIBS)
+ @echo Linking $@
+ $(LINK) @<<
+ /OUT:androiddump.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:WINDOWS androiddump.obj $(androiddump_LIBS)
+<<
+!IFDEF MANIFEST_INFO_REQUIRED
+ mt.exe -nologo -manifest "androiddump.exe.manifest" -outputresource:androiddump.exe;1
+!ENDIF
+
+randpktdump.exe : $(LIBS_CHECK) config.h randpktdump.obj $(randpktdump_WSLIBS)
+ @echo Linking $@
+ $(LINK) @<<
+ /OUT:randpktdump.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:WINDOWS randpktdump.obj $(randpktdump_LIBS)
+<<
+!IFDEF MANIFEST_INFO_REQUIRED
+ mt.exe -nologo -manifest "randpktdump.exe.manifest" -outputresource:randpktdump.exe;1
+!ENDIF
+
+!IFDEF LIBSSH_DIR
+sshdump.exe : $(LIBS_CHECK) config.h sshdump.obj $(sshdump_WSLIBS)
+ @echo Linking $@
+ $(LINK) @<<
+ /OUT:sshdump.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:WINDOWS sshdump.obj $(sshdump_LIBS)
+<<
+!IFDEF MANIFEST_INFO_REQUIRED
+ mt.exe -nologo -manifest "sshdump.exe.manifest" -outputresource:sshdump.exe;1
+!ENDIF
+!ENDIF
+
+clean:
+ rm -f $(androiddump_OBJECTS) $(randpktdump_OBJECTS) $(sshdump_OBJECTS) \
+ $(EXECUTABLES) *.nativecodeanalysis.xml *.pdb *.sbr \
+ doxygen.cfg *.exe.manifest
+
+# "distclean" removes all files not part of the distribution.
+# It does not remove generated files that are part of the distribution.
+distclean: clean
+ rm -f $(BUILT_SOURCES)
+
+# Make "maintainer-clean" only if you would like to remove ALL generated
+# files.
+# Be sure to have python and perl installed to regenerate them.
+maintainer-clean: distclean
+
+# convert doxygen.cfg.in to doxygen.cfg with stamped version info
+doxygen.cfg: ..\config.nmake doxygen.cfg.in
+!IFDEF DOXYGEN
+ sed -e s/@VERSION@/$(VERSION)/ \
+ < doxygen.cfg.in > $@
+!ENDIF
+
+doxygen-run:
+!IFDEF DOXYGEN
+ $(DOXYGEN) doxygen.cfg
+!ENDIF
+
+# MS html help compiler hhc returns 1 on success, but as nmake expects 0 it would stop here.
+# the prepended -1 will raise the accepted error levels of nmake, so it will continue
+doxygen.chm:
+!IFDEF HHC
+ -1 $(HHC) html\index.hhp
+!ENDIF
+
+doxygen: doxygen.cfg doxygen-run doxygen.chm
+
+checkapi: checkapi-base checkapi-todo
+
+checkapi-base:
+ $(PERL) ../tools/checkAPIs.pl -g deprecated-gtk -build \
+ $(androiddump_SOURCES) $(randpktdump_SOURCES) $(sshdump_SOURCES)
+
+checkapi-todo:
+ $(PERL) ../tools/checkAPIs.pl -M -g deprecated-gtk-todo -build \
+ $(androiddump_SOURCES) $(randpktdump_SOURCES) $(sshdump_SOURCES)
diff --git a/extcap/randpktdump.c b/extcap/randpktdump.c
index a36231efa4..a2c7dfbce8 100644
--- a/extcap/randpktdump.c
+++ b/extcap/randpktdump.c
@@ -24,7 +24,7 @@
#include "config.h"
-#include "randpkt-core.h"
+#include "randpkt_core/randpkt_core.h"
#include <glib.h>
#include <glib/gprintf.h>
diff --git a/packaging/macosx/osx-app.sh b/packaging/macosx/osx-app.sh
index 82ae000435..be1faadcc8 100755
--- a/packaging/macosx/osx-app.sh
+++ b/packaging/macosx/osx-app.sh
@@ -1,7 +1,9 @@
#!/bin/bash
#
# USAGE
-# osx-app [-s] [-l /path/to/libraries] -bp /path/to/wireshark/bin -p /path/to/Info.plist
+# osx-app [-s] [-l /path/to/libraries] -bp /path/to/wireshark/bin
+# -lp /path/to/wireshark/lib -ep /path/to/wireshark/extcap/binaries
+# -pp /path/to/wireshark/plugins -p /path/to/Info.plist
#
# This script attempts to build an Wireshark.app bundle for OS X, resolving
# dynamic libraries, etc.
@@ -36,6 +38,9 @@
# Defaults
strip=false
binary_path="/tmp/inst/bin"
+library_path="/tmp/inst/lib"
+plugin_path="/tmp/inst/lib/wireshark/plugins"
+extcap_path="/tmp/inst/lib/wireshark/extcap"
plist="./Info.plist"
exclude_prefixes="/System/|/Library/|/usr/lib/|/usr/X11/|/opt/X11/|@rpath|@executable_path"
create_bundle=false
@@ -59,12 +64,14 @@ binary_list="
rawshark
text2pcap
tshark
+"
+extcap_binary_list="
extcap/androiddump
extcap/randpktdump
"
if [ -x "extcap/sshdump" ]; then
- binary_list="$binary_list extcap/sshdump"
+ extcap_binary_list="$extcap_binary_list extcap/sshdump"
fi
cs_binary_list=
@@ -103,6 +110,15 @@ OPTIONS
-bp,--binary-path
Specify the path to the Wireshark binaries. By default it
is /tmp/inst/bin.
+ -lp,--library-path
+ Specify the path to the Wireshark libraries. By default it
+ is /tmp/inst/lib.
+ -pp,--plugin-path
+ Specify the path to the Wireshark plugins. By default it
+ is /tmp/inst/lib/wireshark/plugins.
+ -ep,--extcap-path
+ Specify the path to the Wireshark extcap binaries. By
+ default it is /tmp/inst/lib/wireshark/extcap.
-p,--plist
Specify the path to Info.plist. Info.plist can be found
in the base directory of the source code once configure
@@ -133,6 +149,15 @@ do
-bp|--binary-path)
binary_path="$2"
shift 1 ;;
+ -lp|--library-path)
+ library_path="$2"
+ shift 1 ;;
+ -pp|--plugin-path)
+ plugin_path="$2"
+ shift 1 ;;
+ -ep|--extcap-path)
+ extcap_path="$2"
+ shift 1 ;;
-cb|--create-bundle)
create_bundle=true;;
-p|--plist)
@@ -176,6 +201,14 @@ if [ "$create_bundle" = "true" ]; then
fi
done
+ for binary in $extcap_binary_list ; do
+ binary=$( basename $binary )
+ if [ ! -x "$extcap_path/$binary" ]; then
+ echo "Couldn't find $binary (or it's not executable)" >&2
+ exit 1
+ fi
+ done
+
if [ ! -f "$plist" ]; then
echo "Need plist file" >&2
exit 1
@@ -308,29 +341,35 @@ create_bundle() {
done
elif [ "$ui_toolkit" = "qt" ] ; then
for binary in $binary_list ; do
- bin_dest="$pkgexec"
- if [ "$( dirname $binary )" == "extcap" ] ; then
- binary=$( basename $binary )
- bin_dest="$pkgexec/$( dirname $binary )"
- fi
-
# Copy the binary to its destination
+ bin_dest="$pkgexec"
cp -v "$binary_path/$binary" "$bin_dest"
cs_binary_list="$cs_binary_list $bin_dest/$binary"
done
fi
+ #
+ # extcap binaries
+ #
+ for binary in $extcap_binary_list ; do
+ # Copy the binary to its destination
+ binary=$( basename $binary )
+ bin_dest="$pkgexec/extcap"
+ cp -v "$extcap_path/$binary" "$bin_dest"
+ cs_binary_list="$cs_binary_list $bin_dest/$binary"
+ done
+
# The rest of the Wireshark installation (we handled bin above)
rsync -av \
--exclude bin/ \
--exclude lib/ \
"$binary_path/.."/* "$pkgres"
- rsync -av $binary_path/../lib/*.dylib "$pkglib/"
+ rsync -av $library_path/*.dylib "$pkglib/"
# Copy the plugins from the "make install" location for them
# to the plugin directory, removing the version number
- find "$binary_path/../lib/wireshark/plugins" \
+ find "$plugin_path" \
-type f \
\( -name "*.so" -o -name "*.dylib" \) \
-exec cp -fv "{}" "$pkgplugin/" \;
diff --git a/randpkt.c b/randpkt.c
index ec34a35471..073d50d38f 100644
--- a/randpkt.c
+++ b/randpkt.c
@@ -21,8 +21,6 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#include "randpkt-core.h"
-
#include <glib.h>
#include <stdio.h>
#include <stdlib.h>
@@ -38,6 +36,8 @@
#include "wsutil/wsgetopt.h"
#endif
+#include "randpkt_core/randpkt_core.h"
+
/* Print usage statement and exit program */
static void
usage(gboolean is_error)
diff --git a/randpkt_core/CMakeLists.txt b/randpkt_core/CMakeLists.txt
new file mode 100644
index 0000000000..f40f745408
--- /dev/null
+++ b/randpkt_core/CMakeLists.txt
@@ -0,0 +1,47 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+
+
+set(RANDPKT_CORE_SRC
+ randpkt_core.c
+)
+
+set(CLEAN_FILES
+ ${RANDPKT_CORE_SRC}
+)
+
+if (WERROR_COMMON_FLAGS)
+ set_source_files_properties(
+ ${CLEAN_FILES}
+ PROPERTIES
+ COMPILE_FLAGS ${WERROR_COMMON_FLAGS}
+ )
+endif()
+
+file(GLOB RANDPKT_CORE_HEADERS randpkt_core.h)
+
+add_library(randpkt_core STATIC
+ ${RANDPKT_CORE_SRC}
+)
+
+set_target_properties(randpkt_core PROPERTIES
+ LINK_FLAGS "${WS_LINK_FLAGS}"
+ FOLDER "Libs")
diff --git a/randpkt_core/Makefile.am b/randpkt_core/Makefile.am
new file mode 100644
index 0000000000..5f35912bdb
--- /dev/null
+++ b/randpkt_core/Makefile.am
@@ -0,0 +1,73 @@
+# Makefile.am
+# Automake file for the "random packet generator" routines for Wireshark
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+include Makefile.common
+include $(top_srcdir)/Makefile.am.inc
+
+AM_CPPFLAGS += -I$(top_srcdir)/wiretap $(LIBGCRYPT_CFLAGS) \
+ $(LIBGNUTLS_CFLAGS) $(PORTAUDIO_INCLUDES)
+
+noinst_LIBRARIES = librandpkt_core.a
+
+CLEANFILES = \
+ doxygen-randpkt_core.tag \
+ librandpkt_core.a \
+ *~
+
+MAINTAINERCLEANFILES = \
+ $(GENERATED_FILES) \
+ Makefile.in
+
+# All sources that should be put in the source distribution tarball
+librandpkt_core_a_SOURCES = \
+ $(RANDPKT_CORE_SRC) \
+ $(noinst_HEADERS)
+
+librandpkt_core_a_DEPENDENCIES =
+
+doxygen:
+if HAVE_DOXYGEN
+ $(DOXYGEN) doxygen.cfg
+endif # HAVE_DOXYGEN
+
+wsar_html: doxygen.cfg ../doxygen_global.cfg
+if HAVE_DOXYGEN
+ (umask 022 ; $(DOXYGEN) doxygen.cfg)
+endif
+
+checkapi: checkapi-base checkapi-todo
+
+checkapi-base:
+ $(PERL) $(top_srcdir)/tools/checkAPIs.pl -g deprecated-gtk -build \
+ -sourcedir=$(srcdir) \
+ $(RANDPKT_CORE_SRC)
+
+checkapi-todo:
+ $(PERL) $(top_srcdir)/tools/checkAPIs.pl -M -g deprecated-gtk-todo -build \
+ -sourcedir=$(srcdir) \
+ $(RANDPKT_CORE_SRC)
+
+EXTRA_DIST = \
+ $(GENERATOR_FILES) \
+ CMakeLists.txt \
+ doxygen.cfg.in \
+ Makefile.common \
+ Makefile.nmake
diff --git a/randpkt_core/Makefile.common b/randpkt_core/Makefile.common
new file mode 100644
index 0000000000..b7f72fc4c4
--- /dev/null
+++ b/randpkt_core/Makefile.common
@@ -0,0 +1,28 @@
+# Makefile.common
+# Contains the stuff from Makefile.am and Makefile.nmake that is
+# a) common to both files and
+# b) portable between both files
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+RANDPKT_CORE_SRC = \
+ randpkt_core.c
+
+noinst_HEADERS = \
+ randpkt_core.h
diff --git a/randpkt_core/Makefile.nmake b/randpkt_core/Makefile.nmake
new file mode 100644
index 0000000000..5ab93cff9d
--- /dev/null
+++ b/randpkt_core/Makefile.nmake
@@ -0,0 +1,78 @@
+## Makefile for building wireshark.exe with Microsoft C and nmake
+## Use: $(MAKE) /$(MAKEFLAGS) -f makefile.nmake
+#
+
+include ..\config.nmake
+include ..\Makefile.nmake.inc
+
+############### no need to modify below this line #########
+
+# We use GENERATED_CFLAGS to get around flex's non-LLP64-compliant output
+GENERATED_CFLAGS=\
+ $(STANDARD_CFLAGS) \
+ /Zm800 \
+ /I.. /I../wiretap $(GLIB_CFLAGS) $(GNUTLS_CFLAGS) \
+ /I$(PCAP_DIR)\WPCAP\LIBPCAP /I$(PCAP_DIR)\WPCAP\LIBPCAP\bpf \
+ /I$(PCAP_DIR)\WPCAP\LIBPCAP\lbl \
+ /I$(PCAP_DIR)\include $(AIRPCAP_CFLAGS) \
+ $(PORTAUDIO_CFLAGS) $(GEOIP_CFLAGS) $(WINSPARKLE_CFLAGS) \
+ $(HHC_CFLAGS)
+
+CFLAGS=$(WARNINGS_ARE_ERRORS) $(GENERATED_CFLAGS)
+
+.c.obj::
+ $(CC) $(CFLAGS) $(WSUG_CFLAGS) -Fd.\ -c $<
+
+include Makefile.common
+
+
+# if you add files here, be sure to include them also in Makefile.am EXTRA_DIST
+RANDPKT_CORE_OBJECTS = \
+ $(RANDPKT_CORE_SRC:.c=.obj)
+
+RUNLEX=../tools/runlex.sh
+
+librandpkt_core.lib : ..\config.h $(RANDPKT_CORE_OBJECTS)
+ link /lib /out:librandpkt_core.lib $(RANDPKT_CORE_OBJECTS)
+
+clean:
+ rm -f $(RANDPKT_CORE_OBJECTS) librandpkt_core.lib \
+ *.nativecodeanalysis.xml *.pdb *.sbr \
+ doxygen.cfg html/*.* wireshark-tap-register-cache.pkl
+ if exist html rmdir html
+
+distclean: clean
+
+maintainer-clean: distclean
+ rm -f $(GENERATED_FILES)
+
+# convert doxygen.cfg.in to doxygen.cfg with stamped version info
+doxygen.cfg: ..\config.nmake doxygen.cfg.in
+!IFDEF DOXYGEN
+ sed -e s/@VERSION@/$(VERSION)/ \
+ < doxygen.cfg.in > $@
+!ENDIF
+
+doxygen-run:
+!IFDEF DOXYGEN
+ $(DOXYGEN) doxygen.cfg
+!ENDIF
+
+# MS html help compiler hhc returns 1 on success, but as nmake expects 0 it would stop here.
+# the prepended -1 will raise the accepted error levels of nmake, so it will continue
+doxygen.chm:
+!IFDEF HHC
+ -1 $(HHC) html\index.hhp
+!ENDIF
+
+doxygen: doxygen.cfg doxygen-run doxygen.chm
+
+checkapi: checkapi-base checkapi-todo
+
+checkapi-base:
+ $(PERL) ../tools/checkAPIs.pl -g deprecated-gtk -build \
+ $(RANDPKT_CORE_SRC)
+
+checkapi-todo:
+ $(PERL) ../tools/checkAPIs.pl -M -g deprecated-gtk-todo -build \
+ $(RANDPKT_CORE_SRC)
diff --git a/randpkt_core/doxygen.cfg.in b/randpkt_core/doxygen.cfg.in
new file mode 100644
index 0000000000..baa9159fc3
--- /dev/null
+++ b/randpkt_core/doxygen.cfg.in
@@ -0,0 +1,81 @@
+# @configure_input@
+
+@INCLUDE = ../doxygen_global.cfg
+
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
+# by quotes) that should identify the project.
+
+PROJECT_NAME = "Wireshark Random Packet Generation Library"
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number.
+# This could be handy for archiving the generated documentation or
+# if some version control system is used.
+
+PROJECT_NUMBER = @VERSION@
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
+# base path where the generated documentation will be put.
+# If a relative path is entered, it will be relative to the location
+# where doxygen was started. If left blank the current directory will be used.
+
+OUTPUT_DIRECTORY = ../wsar_html
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `html' will be used as the default path.
+
+HTML_OUTPUT = randpkt-core
+
+# The TAGFILES option can be used to specify one or more tagfiles.
+# Optionally an initial location of the external documentation
+# can be added for each tagfile. The format of a tag file without
+# this location is as follows:
+#
+# TAGFILES = file1 file2 ...
+# Adding location for the tag files is done as follows:
+#
+# TAGFILES = file1=loc1 "file2 = loc2" ...
+# where "loc1" and "loc2" can be relative or absolute paths or
+# URLs. If a location is present for each tag, the installdox tool
+# does not have to be run to correct the links.
+# Note that each tag file must have a unique name
+# (where the name does NOT include the path)
+# If a tag file is not located in the directory in which doxygen
+# is run, you must also specify the path to the tagfile here.
+
+TAGFILES = ../doxygen-core.tag=..
+
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create
+# a tag file that is based on the input files it reads.
+
+GENERATE_TAGFILE = doxygen-randpkt-core.tag
+
+# The RECURSIVE tag can be used to turn specify whether or not subdirectories
+# should be searched for input files as well. Possible values are YES and NO.
+# If left blank NO is used.
+
+RECURSIVE = YES
+
+# The EXCLUDE tag can be used to specify files and/or directories that should
+# excluded from the INPUT source files. This way you can easily exclude a
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
+
+EXCLUDE =
+
+# The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories
+# that are symbolic links (a Unix filesystem feature) are excluded from the input.
+
+EXCLUDE_SYMLINKS = NO
+
+# If the value of the INPUT tag contains directories, you can use the
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
+# certain files from those directories.
+
+EXCLUDE_PATTERNS =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
+# be used to specify the file name of the resulting .chm file. You
+# can add a path in front of the file if the result should not be
+# written to the html output directory.
+
+CHM_FILE = wireshark-randpkt-core.chm
diff --git a/randpkt-core.c b/randpkt_core/randpkt_core.c
index 0e997b79fc..c329dc627d 100644
--- a/randpkt-core.c
+++ b/randpkt_core/randpkt_core.c
@@ -1,5 +1,5 @@
/*
- * randpkt-core.c
+ * randpkt_core.c
* ---------
* Creates random packet traces. Useful for debugging sniffers by testing
* assumptions about the veracity of the data found in the packet.
@@ -21,7 +21,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#include "randpkt-core.h"
+#include "randpkt_core.h"
#include <config.h>
diff --git a/randpkt-core.h b/randpkt_core/randpkt_core.h
index ae17fd8cfb..35265480cb 100644
--- a/randpkt-core.h
+++ b/randpkt_core/randpkt_core.h
@@ -1,5 +1,5 @@
/*
- * randpkt-core.h
+ * randpkt_core.h
* ---------
* Creates random packet traces. Useful for debugging sniffers by testing
* assumptions about the veracity of the data found in the packet.