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( codecs )
add_subdirectory( docbook ) add_subdirectory( docbook )
add_subdirectory( epan ) add_subdirectory( epan )
add_subdirectory( randpkt_core )
add_subdirectory( tools/lemon ) add_subdirectory( tools/lemon )
add_subdirectory( ui ) add_subdirectory( ui )
add_subdirectory( wiretap ) add_subdirectory( wiretap )
@ -1205,6 +1206,7 @@ set( IN_FILES
packaging/macosx/Info.plist.in packaging/macosx/Info.plist.in
packaging/macosx/osx-dmg.sh.in packaging/macosx/osx-dmg.sh.in
packaging/macosx/Wireshark_package.pmdoc/index.xml.in packaging/macosx/Wireshark_package.pmdoc/index.xml.in
randpkt_core/doxygen.cfg.in
ui/doxygen.cfg.in ui/doxygen.cfg.in
ui/gtk/doxygen.cfg.in ui/gtk/doxygen.cfg.in
ui/qt/doxygen.cfg.in ui/qt/doxygen.cfg.in
@ -1231,6 +1233,7 @@ link_directories(
${CMAKE_BINARY_DIR}/caputils ${CMAKE_BINARY_DIR}/caputils
${CMAKE_BINARY_DIR}/codecs ${CMAKE_BINARY_DIR}/codecs
${CMAKE_BINARY_DIR}/epan ${CMAKE_BINARY_DIR}/epan
${CMAKE_BINARY_DIR}/randpkt_core
${CMAKE_BINARY_DIR}/wiretap ${CMAKE_BINARY_DIR}/wiretap
${CMAKE_BINARY_DIR}/wsutil ${CMAKE_BINARY_DIR}/wsutil
) )
@ -2146,6 +2149,7 @@ endif()
if(BUILD_randpkt) if(BUILD_randpkt)
set(randpkt_LIBS set(randpkt_LIBS
randpkt_core
wiretap wiretap
wsutil wsutil
${M_LIBRARIES} ${M_LIBRARIES}
@ -2158,7 +2162,6 @@ if(BUILD_randpkt)
) )
set(randpkt_FILES set(randpkt_FILES
randpkt.c randpkt.c
randpkt-core.c
) )
add_executable(randpkt ${randpkt_FILES}) add_executable(randpkt ${randpkt_FILES})
set_extra_executable_properties(randpkt "Executables") set_extra_executable_properties(randpkt "Executables")
@ -2398,13 +2401,13 @@ endif()
if(BUILD_randpktdump) if(BUILD_randpktdump)
set(randpktdump_LIBS set(randpktdump_LIBS
randpkt_core
wiretap wiretap
${GLIB2_LIBRARIES} ${GLIB2_LIBRARIES}
${CMAKE_DL_LIBS} ${CMAKE_DL_LIBS}
) )
set(randpktdump_FILES set(randpktdump_FILES
extcap/randpktdump.c extcap/randpktdump.c
randpkt-core.c
) )
add_executable(randpktdump WIN32 ${randpktdump_FILES}) add_executable(randpktdump WIN32 ${randpktdump_FILES})

View File

@ -45,14 +45,11 @@ bin_PROGRAMS = \
@dumpcap_bin@ \ @dumpcap_bin@ \
@reordercap_bin@ \ @reordercap_bin@ \
@rawshark_bin@ \ @rawshark_bin@ \
@androiddump_bin@ \
@sshdump_bin@ \
@randpktdump_bin@ \
@echld_test_bin@ @echld_test_bin@
EXTRA_PROGRAMS = wireshark-gtk wireshark tshark tfshark capinfos captype editcap \ EXTRA_PROGRAMS = wireshark-gtk wireshark tshark tfshark capinfos captype \
mergecap dftest randpkt text2pcap dumpcap reordercap rawshark androiddump \ editcap mergecap dftest randpkt text2pcap dumpcap reordercap \
sshdump randpktdump echld_test rawshark echld_test
# #
# Wireshark configuration files are put in $(pkgdatadir). # Wireshark configuration files are put in $(pkgdatadir).
@ -528,46 +525,6 @@ rawshark_LDADD = \
@LIBGNUTLS_LIBS@ \ @LIBGNUTLS_LIBS@ \
@LIBSMI_LDFLAGS@ @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. # Libraries with which to link text2pcap.
text2pcap_LDADD = \ text2pcap_LDADD = \
wsutil/libwsutil.la \ wsutil/libwsutil.la \
@ -612,6 +569,7 @@ reordercap_LDADD = \
# Libraries with which to link randpkt. # Libraries with which to link randpkt.
randpkt_LDADD = \ randpkt_LDADD = \
randpkt_core/librandpkt_core.a \
wiretap/libwiretap.la \ wiretap/libwiretap.la \
wsutil/libwsutil.la \ wsutil/libwsutil.la \
@GLIB_LIBS@ \ @GLIB_LIBS@ \
@ -1407,9 +1365,11 @@ DIST_SUBDIRS = \
help \ help \
packaging \ packaging \
plugins \ plugins \
randpkt_core \
tools \ tools \
wiretap \ wiretap \
wsutil \ wsutil \
extcap \
docbook docbook
SUBDIRS = \ SUBDIRS = \
@ -1426,6 +1386,8 @@ SUBDIRS = \
ui \ ui \
@wireshark_SUBDIRS@ \ @wireshark_SUBDIRS@ \
ui/cli \ ui/cli \
randpkt_core \
extcap \
. \ . \
doc doc
@ -1638,7 +1600,10 @@ osx-app: $(PROGRAMS) $(SCRIPTS) $(MANS) $(DATA) packaging/macosx/Info.plist
cd $(srcdir)/packaging/macosx ; \ cd $(srcdir)/packaging/macosx ; \
./osx-app.sh @OSX_APP_FLAGS@ \ ./osx-app.sh @OSX_APP_FLAGS@ \
--create-bundle \ --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 \ else \
echo "Error: OS X packaging tools not found." ; \ echo "Error: OS X packaging tools not found." ; \
echo "Package build abandoned." ; \ echo "Package build abandoned." ; \
@ -1694,6 +1659,7 @@ checkapi: checkapi_local
cd epan/dissectors && $(MAKE) checkapi cd epan/dissectors && $(MAKE) checkapi
cd epan/dissectors/dcerpc && $(MAKE) checkapi cd epan/dissectors/dcerpc && $(MAKE) checkapi
cd plugins && $(MAKE) checkapi cd plugins && $(MAKE) checkapi
cd randpkt_core && $(MAKE) checkapi
cd wsutil && $(MAKE) checkapi cd wsutil && $(MAKE) checkapi
wsar_html: doxygen.cfg doxygen_global.cfg FORCE wsar_html: doxygen.cfg doxygen_global.cfg FORCE
@ -1702,6 +1668,7 @@ if HAVE_DOXYGEN
cd epan && $(MAKE) $@ cd epan && $(MAKE) $@
cd capchild && $(MAKE) $@ cd capchild && $(MAKE) $@
cd caputils && $(MAKE) $@ cd caputils && $(MAKE) $@
cd randpkt_core && $(MAKE) $@
cd ui && $(MAKE) $@ cd ui && $(MAKE) $@
(umask 022 ; $(DOXYGEN) doxygen.cfg) (umask 022 ; $(DOXYGEN) doxygen.cfg)
endif endif

View File

@ -95,19 +95,6 @@ rawshark_SOURCES = \
$(SHARK_COMMON_SRC) \ $(SHARK_COMMON_SRC) \
rawshark.c 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 specifics
text2pcap_SOURCES = \ text2pcap_SOURCES = \
pcapio.c \ pcapio.c \
@ -155,12 +142,7 @@ echld_test_SOURCES = \
# randpkt specifics # randpkt specifics
randpkt_SOURCES = \ randpkt_SOURCES = \
randpkt.c \ randpkt.c
randpkt-core.c
# corresponding headers
randpkt_INCLUDES = \
randpkt-core.h
# dumpcap specifics # dumpcap specifics
dumpcap_SOURCES = \ dumpcap_SOURCES = \
@ -184,5 +166,4 @@ dumpcap_INCLUDES = \
noinst_HEADERS = \ noinst_HEADERS = \
$(SHARK_COMMON_INCLUDES) \ $(SHARK_COMMON_INCLUDES) \
$(WIRESHARK_COMMON_INCLUDES) \ $(WIRESHARK_COMMON_INCLUDES) \
$(dumpcap_INCLUDES) \ $(dumpcap_INCLUDES)
$(randpkt_INCLUDES)

View File

@ -187,7 +187,8 @@ sshdump_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
wsutil\libwsutil.lib \ wsutil\libwsutil.lib \
$(LIBSSH_LIBS) \ $(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 \ wsock32.lib user32.lib \
wsutil\libwsutil.lib \ wsutil\libwsutil.lib \
$(GLIB_LIBS) $(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 mt.exe -nologo -manifest "androiddump.exe.manifest" -outputresource:androiddump.exe;1
!ENDIF !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 $@ @echo Linking $@
$(LINK) @<< $(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 !IFDEF MANIFEST_INFO_REQUIRED
mt.exe -nologo -manifest "randpktdump.exe.manifest" -outputresource:randpktdump.exe;1 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 sshdump.obj : extcap/sshdump.c
$(CC) $(CFLAGS) -Fd.\ -c $? $(CC) $(CFLAGS) -Fd.\ -c $?
randpktdump.obj : extcap/randpktdump.c randpkt-core.c randpktdump.obj : extcap/randpktdump.c
$(CC) $(CFLAGS) -Fd.\ -c $? $(CC) $(CFLAGS) -Fd.\ -c $?
test-programs: test-programs:
@ -632,7 +633,7 @@ clean-local:
reordercap.obj nio-ie5.obj update.obj \ reordercap.obj nio-ie5.obj update.obj \
text2pcap-scanner.obj text2pcap-scanner.c \ text2pcap-scanner.obj text2pcap-scanner.c \
config.h ps.c $(LIBS_CHECK) \ 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 \ doxygen.cfg \
$(RESOURCES) libwireshark.dll wiretap-$(WTAP_VERSION).dll \ $(RESOURCES) libwireshark.dll wiretap-$(WTAP_VERSION).dll \
libwscodecs.lib libwsutil.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 whether extcap programs should be enabled and, if they should be,
dnl check for extcap directory - stolen from Amanda's configure.ac dnl check for extcap directory - stolen from Amanda's configure.ac
dnl dnl
dnl we don't wish to expand ${datadir} yet dnl we don't wish to expand ${libdir} yet
extcapdir="\${datadir}/wireshark/extcap" extcapdir="\${libdir}/wireshark/extcap"
AC_ARG_WITH(extcap, AC_ARG_WITH(extcap,
AC_HELP_STRING( [--with-extcap@<:@=DIR@:>@], AC_HELP_STRING( [--with-extcap@<:@=DIR@:>@],
[use extcap for external capture sources (installed in DIR, if supplied) @<:@default=yes, if possible@:>@]), [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/nghttp2/Makefile
epan/wmem/Makefile epan/wmem/Makefile
epan/wslua/Makefile epan/wslua/Makefile
extcap/Makefile
codecs/Makefile codecs/Makefile
ui/Makefile ui/Makefile
ui/doxygen.cfg ui/doxygen.cfg
@ -3324,6 +3325,7 @@ AC_OUTPUT(
plugins/wimax/Makefile plugins/wimax/Makefile
plugins/wimaxasncp/Makefile plugins/wimaxasncp/Makefile
plugins/wimaxmacphy/Makefile plugins/wimaxmacphy/Makefile
randpkt_core/Makefile
tools/Makefile tools/Makefile
tools/lemon/Makefile tools/lemon/Makefile
wiretap/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 "config.h"
#include "randpkt-core.h" #include "randpkt_core/randpkt_core.h"
#include <glib.h> #include <glib.h>
#include <glib/gprintf.h> #include <glib/gprintf.h>

View File

@ -1,7 +1,9 @@
#!/bin/bash #!/bin/bash
# #
# USAGE # 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 # This script attempts to build an Wireshark.app bundle for OS X, resolving
# dynamic libraries, etc. # dynamic libraries, etc.
@ -36,6 +38,9 @@
# Defaults # Defaults
strip=false strip=false
binary_path="/tmp/inst/bin" 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" plist="./Info.plist"
exclude_prefixes="/System/|/Library/|/usr/lib/|/usr/X11/|/opt/X11/|@rpath|@executable_path" exclude_prefixes="/System/|/Library/|/usr/lib/|/usr/X11/|/opt/X11/|@rpath|@executable_path"
create_bundle=false create_bundle=false
@ -59,12 +64,14 @@ binary_list="
rawshark rawshark
text2pcap text2pcap
tshark tshark
"
extcap_binary_list="
extcap/androiddump extcap/androiddump
extcap/randpktdump extcap/randpktdump
" "
if [ -x "extcap/sshdump" ]; then if [ -x "extcap/sshdump" ]; then
binary_list="$binary_list extcap/sshdump" extcap_binary_list="$extcap_binary_list extcap/sshdump"
fi fi
cs_binary_list= cs_binary_list=
@ -103,6 +110,15 @@ OPTIONS
-bp,--binary-path -bp,--binary-path
Specify the path to the Wireshark binaries. By default it Specify the path to the Wireshark binaries. By default it
is /tmp/inst/bin. 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 -p,--plist
Specify the path to Info.plist. Info.plist can be found Specify the path to Info.plist. Info.plist can be found
in the base directory of the source code once configure in the base directory of the source code once configure
@ -133,6 +149,15 @@ do
-bp|--binary-path) -bp|--binary-path)
binary_path="$2" binary_path="$2"
shift 1 ;; 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) -cb|--create-bundle)
create_bundle=true;; create_bundle=true;;
-p|--plist) -p|--plist)
@ -176,6 +201,14 @@ if [ "$create_bundle" = "true" ]; then
fi fi
done 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 if [ ! -f "$plist" ]; then
echo "Need plist file" >&2 echo "Need plist file" >&2
exit 1 exit 1
@ -308,29 +341,35 @@ create_bundle() {
done done
elif [ "$ui_toolkit" = "qt" ] ; then elif [ "$ui_toolkit" = "qt" ] ; then
for binary in $binary_list ; do 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 # Copy the binary to its destination
bin_dest="$pkgexec"
cp -v "$binary_path/$binary" "$bin_dest" cp -v "$binary_path/$binary" "$bin_dest"
cs_binary_list="$cs_binary_list $bin_dest/$binary" cs_binary_list="$cs_binary_list $bin_dest/$binary"
done done
fi 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) # The rest of the Wireshark installation (we handled bin above)
rsync -av \ rsync -av \
--exclude bin/ \ --exclude bin/ \
--exclude lib/ \ --exclude lib/ \
"$binary_path/.."/* "$pkgres" "$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 # Copy the plugins from the "make install" location for them
# to the plugin directory, removing the version number # to the plugin directory, removing the version number
find "$binary_path/../lib/wireshark/plugins" \ find "$plugin_path" \
-type f \ -type f \
\( -name "*.so" -o -name "*.dylib" \) \ \( -name "*.so" -o -name "*.dylib" \) \
-exec cp -fv "{}" "$pkgplugin/" \; -exec cp -fv "{}" "$pkgplugin/" \;

View File

@ -21,8 +21,6 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/ */
#include "randpkt-core.h"
#include <glib.h> #include <glib.h>
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
@ -38,6 +36,8 @@
#include "wsutil/wsgetopt.h" #include "wsutil/wsgetopt.h"
#endif #endif
#include "randpkt_core/randpkt_core.h"
/* Print usage statement and exit program */ /* Print usage statement and exit program */
static void static void
usage(gboolean is_error) 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 * Creates random packet traces. Useful for debugging sniffers by testing
* assumptions about the veracity of the data found in the packet. * 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. * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/ */
#include "randpkt-core.h" #include "randpkt_core.h"
#include <config.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 * Creates random packet traces. Useful for debugging sniffers by testing
* assumptions about the veracity of the data found in the packet. * assumptions about the veracity of the data found in the packet.