Build the extcap programs in the extcap directory.

That lets the version of Wireshark built with autotools find the extcap
programs.

Don't install the extcap programs under ${datadir} - that puts it under
a share directory, and share directories are for platform-independent
files, which executable images aren't (they're instruction-set
dependent, hence platform-dependent).

Change-Id: I992eeb984bdbe6b3476777f7114628c83df6080f
Reviewed-on: https://code.wireshark.org/review/13943
Reviewed-by: Guy Harris <guy@alum.mit.edu>
This commit is contained in:
Guy Harris 2016-02-14 17:00:38 -08:00
parent 21ab9b2cbe
commit 58d00bad1a
18 changed files with 644 additions and 93 deletions

View File

@ -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})

View File

@ -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

View File

@ -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)

View File

@ -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 \

View File

@ -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

74
extcap/Makefile.am Normal file
View File

@ -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@

34
extcap/Makefile.common Normal file
View File

@ -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

143
extcap/Makefile.nmake Normal file
View File

@ -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)

View File

@ -24,7 +24,7 @@
#include "config.h"
#include "randpkt-core.h"
#include "randpkt_core/randpkt_core.h"
#include <glib.h>
#include <glib/gprintf.h>

View File

@ -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/" \;

View File

@ -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)

View File

@ -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")

73
randpkt_core/Makefile.am Normal file
View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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>

View File

@ -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.