From 6898072b371f6c4f7cac81b66f95be996ccdcd9519aa887b3ceae9d483f18326 Mon Sep 17 00:00:00 2001 From: OBS User unknown Date: Thu, 4 Jan 2007 16:28:36 +0000 Subject: [PATCH] OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/tcpdump?expand=0&rev=1 --- .gitattributes | 23 +++ .gitignore | 1 + ready | 0 tcpdump-3.9.5-aliasing.diff | 116 +++++++++++ tcpdump-3.9.5-autoconf.diff | 319 +++++++++++++++++++++++++++++++ tcpdump-3.9.5-juniper.diff | 13 ++ tcpdump-3.9.5-prototypes.diff | 23 +++ tcpdump-3.9.5-uninitialized.diff | 11 ++ tcpdump-3.9.5.tar.bz2 | 3 + tcpdump-qeth | 80 ++++++++ tcpdump.changes | 268 ++++++++++++++++++++++++++ tcpdump.spec | 205 ++++++++++++++++++++ 12 files changed, 1062 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 ready create mode 100644 tcpdump-3.9.5-aliasing.diff create mode 100644 tcpdump-3.9.5-autoconf.diff create mode 100644 tcpdump-3.9.5-juniper.diff create mode 100644 tcpdump-3.9.5-prototypes.diff create mode 100644 tcpdump-3.9.5-uninitialized.diff create mode 100644 tcpdump-3.9.5.tar.bz2 create mode 100644 tcpdump-qeth create mode 100644 tcpdump.changes create mode 100644 tcpdump.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/ready b/ready new file mode 100644 index 0000000..473a0f4 diff --git a/tcpdump-3.9.5-aliasing.diff b/tcpdump-3.9.5-aliasing.diff new file mode 100644 index 0000000..4f8483a --- /dev/null +++ b/tcpdump-3.9.5-aliasing.diff @@ -0,0 +1,116 @@ +--- icmp6.h ++++ icmp6.h +@@ -396,7 +396,11 @@ + u_int8_t rr_segnum; + u_int8_t rr_flags; + u_int16_t rr_maxdelay; +- u_int32_t rr_reserved; ++ union { ++ u_int8_t rr_reserved8[4]; ++ u_int16_t rr_reserved16[2]; ++ u_int32_t rr_reserved; ++ }; + }; + #define ICMP6_RR_FLAGS_TEST 0x80 + #define ICMP6_RR_FLAGS_REQRESULT 0x40 +--- print-icmp.c ++++ print-icmp.c +@@ -47,6 +47,12 @@ + * Per RFC 792, September 1981. + */ + ++/* rfc1191 */ ++struct mtu_discovery { ++ u_int16_t unused; ++ u_int16_t nexthopmtu; ++}; ++ + /* + * Structure of an icmp header. + */ +@@ -61,7 +67,10 @@ + u_int16_t icd_id; + u_int16_t icd_seq; + } ih_idseq; +- u_int32_t ih_void; ++ union { ++ u_int32_t ih_void; ++ struct mtu_discovery ih_mtu_discovery; ++ }; + + /* ICMP_UNREACH_NEEDFRAG -- Path MTU Discovery (RFC1191) */ + struct ih_pmtu { +@@ -74,6 +83,7 @@ + #define icmp_id icmp_hun.ih_idseq.icd_id + #define icmp_seq icmp_hun.ih_idseq.icd_seq + #define icmp_void icmp_hun.ih_void ++#define icmp_mtu_discovery icmp_hun.ih_mtu_discovery + #define icmp_pmvoid icmp_hun.ih_pmtu.ipm_void + #define icmp_nextmtu icmp_hun.ih_pmtu.ipm_nextmtu + union { +@@ -258,12 +268,6 @@ + { 0, NULL } + }; + +-/* rfc1191 */ +-struct mtu_discovery { +- u_int16_t unused; +- u_int16_t nexthopmtu; +-}; +- + /* rfc1256 */ + struct ih_rdiscovery { + u_int8_t ird_addrnum; +@@ -386,7 +390,7 @@ + case ICMP_UNREACH_NEEDFRAG: + { + register const struct mtu_discovery *mp; +- mp = (struct mtu_discovery *)&dp->icmp_void; ++ mp = &dp->icmp_mtu_discovery; + mtu = EXTRACT_16BITS(&mp->nexthopmtu); + if (mtu) { + (void)snprintf(buf, sizeof(buf), +--- print-icmp6.c ++++ print-icmp6.c +@@ -1194,7 +1194,7 @@ + printf("seg=%u,", rr6->rr_segnum); + printf("maxdelay=%u", rr6->rr_maxdelay); + if (rr6->rr_reserved) +- printf("rsvd=0x%x", EXTRACT_16BITS(&rr6->rr_reserved)); ++ printf("rsvd=0x%x", EXTRACT_16BITS(&rr6->rr_reserved16[0])); + /*[*/ + printf("]"); + #undef F +--- print-timed.c ++++ print-timed.c +@@ -86,8 +86,8 @@ + fputs(" [|timed]", stdout); + return; + } +- sec = EXTRACT_32BITS(&tsp->tsp_time.tv_sec); +- usec = EXTRACT_32BITS(&tsp->tsp_time.tv_usec); ++ sec = EXTRACT_32BITS(&tsp->tsp_time.tv_sec32[0]); ++ usec = EXTRACT_32BITS(&tsp->tsp_time.tv_usec32[0]); + if (usec < 0) + /* corrupt, skip the rest of the packet */ + return; +--- timed.h ++++ timed.h +@@ -49,7 +49,16 @@ + u_int8_t tsp_vers; + u_int16_t tsp_seq; + union { +- struct timeval tspu_time; ++ struct { ++ union { ++ int tv_sec32[2]; ++ long tv_sec; ++ }; ++ union { ++ int tv_usec32[2]; ++ long tv_usec; ++ }; ++ } tspu_time; + int8_t tspu_hopcnt; + } tsp_u; + int8_t tsp_name[256]; diff --git a/tcpdump-3.9.5-autoconf.diff b/tcpdump-3.9.5-autoconf.diff new file mode 100644 index 0000000..a9e6c4b --- /dev/null +++ b/tcpdump-3.9.5-autoconf.diff @@ -0,0 +1,319 @@ +--- aclocal.m4 ++++ aclocal.m4 +@@ -42,7 +42,7 @@ + dnl ac_cv_lbl_gcc_vers + dnl LBL_CFLAGS + dnl +-AC_DEFUN(AC_LBL_C_INIT, ++AC_DEFUN([AC_LBL_C_INIT], + [AC_PREREQ(2.12) + AC_BEFORE([$0], [AC_PROG_CC]) + AC_BEFORE([$0], [AC_LBL_FIXINCLUDES]) +@@ -167,7 +167,7 @@ + # at least some versions of HP's C compiler can inline that, but can't + # inline a function that returns a struct pointer. + # +-AC_DEFUN(AC_LBL_C_INLINE, ++AC_DEFUN([AC_LBL_C_INLINE], + [AC_MSG_CHECKING(for inline) + AC_CACHE_VAL(ac_cv_lbl_inline, [ + ac_cv_lbl_inline="" +@@ -220,7 +220,7 @@ + dnl LIBS + dnl LBL_LIBS + dnl +-AC_DEFUN(AC_LBL_LIBPCAP, ++AC_DEFUN([AC_LBL_LIBPCAP], + [AC_REQUIRE([AC_LBL_LIBRARY_NET]) + dnl + dnl save a copy before locating libpcap.a +@@ -375,7 +375,7 @@ + dnl RETSIGTYPE (defined) + dnl RETSIGVAL (defined) + dnl +-AC_DEFUN(AC_LBL_TYPE_SIGNAL, ++AC_DEFUN([AC_LBL_TYPE_SIGNAL], + [AC_BEFORE([$0], [AC_LBL_LIBPCAP]) + AC_TYPE_SIGNAL + if test "$ac_cv_type_signal" = void ; then +@@ -405,7 +405,7 @@ + dnl + dnl AC_LBL_FIXINCLUDES + dnl +-AC_DEFUN(AC_LBL_FIXINCLUDES, ++AC_DEFUN([AC_LBL_FIXINCLUDES], + [if test "$GCC" = yes ; then + AC_MSG_CHECKING(for ANSI ioctl definitions) + AC_CACHE_VAL(ac_cv_lbl_gcc_fixincludes, +@@ -451,7 +451,7 @@ + dnl $2 (yacc appended) + dnl $3 (optional flex and bison -P prefix) + dnl +-AC_DEFUN(AC_LBL_LEX_AND_YACC, ++AC_DEFUN([AC_LBL_LEX_AND_YACC], + [AC_ARG_WITH(flex, [ --without-flex don't use flex]) + AC_ARG_WITH(bison, [ --without-bison don't use bison]) + if test "$with_flex" = no ; then +@@ -504,7 +504,7 @@ + dnl + dnl DECLWAITSTATUS (defined) + dnl +-AC_DEFUN(AC_LBL_UNION_WAIT, ++AC_DEFUN([AC_LBL_UNION_WAIT], + [AC_MSG_CHECKING(if union wait is used) + AC_CACHE_VAL(ac_cv_lbl_union_wait, + AC_TRY_COMPILE([ +@@ -533,7 +533,7 @@ + dnl + dnl HAVE_SOCKADDR_SA_LEN (defined) + dnl +-AC_DEFUN(AC_LBL_SOCKADDR_SA_LEN, ++AC_DEFUN([AC_LBL_SOCKADDR_SA_LEN], + [AC_MSG_CHECKING(if sockaddr struct has sa_len member) + AC_CACHE_VAL(ac_cv_lbl_sockaddr_has_sa_len, + AC_TRY_COMPILE([ +@@ -558,7 +558,7 @@ + dnl + dnl ac_cv_lbl_have_run_path (yes or no) + dnl +-AC_DEFUN(AC_LBL_HAVE_RUN_PATH, ++AC_DEFUN([AC_LBL_HAVE_RUN_PATH], + [AC_MSG_CHECKING(for ${CC-cc} -R) + AC_CACHE_VAL(ac_cv_lbl_have_run_path, + [echo 'main(){}' > conftest.c +@@ -627,7 +627,7 @@ + dnl + dnl LBL_ALIGN (DEFINED) + dnl +-AC_DEFUN(AC_LBL_UNALIGNED_ACCESS, ++AC_DEFUN([AC_LBL_UNALIGNED_ACCESS], + [AC_MSG_CHECKING(if unaligned accesses fail) + AC_CACHE_VAL(ac_cv_lbl_unaligned_fail, + [case "$host_cpu" in +@@ -733,7 +733,7 @@ + dnl HAVE_OS_PROTO_H (defined) + dnl os-proto.h (symlinked) + dnl +-AC_DEFUN(AC_LBL_DEVEL, ++AC_DEFUN([AC_LBL_DEVEL], + [rm -f os-proto.h + if test "${LBL_CFLAGS+set}" = set; then + $1="$$1 ${LBL_CFLAGS}" +@@ -790,7 +790,7 @@ + dnl useful in the future. + dnl + +-define(AC_LBL_CHECK_LIB, ++define([AC_LBL_CHECK_LIB], + [AC_MSG_CHECKING([for $2 in -l$1]) + dnl Use a cache variable name containing the library, function + dnl name, and extra libraries to link with, because the test really is +@@ -802,16 +802,10 @@ + [ac_save_LIBS="$LIBS" + LIBS="-l$1 $5 $LIBS" + AC_TRY_LINK(dnl +-ifelse([$2], [main], , dnl Avoid conflicting decl of main. +-[/* Override any gcc2 internal prototype to avoid an error. */ +-]ifelse(AC_LANG, CPLUSPLUS, [#ifdef __cplusplus +-extern "C" +-#endif +-])dnl + [/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ + char $2(); +-]), ++], + [$2()], + eval "ac_cv_lbl_lib_$ac_lib_var=yes", + eval "ac_cv_lbl_lib_$ac_lib_var=no") +@@ -869,7 +863,7 @@ + dnl statically and happen to have a libresolv.a lying around (and no + dnl libnsl.a). + dnl +-AC_DEFUN(AC_LBL_LIBRARY_NET, [ ++AC_DEFUN([AC_LBL_LIBRARY_NET], [ + # Most operating systems have gethostbyname() in the default searched + # libraries (i.e. libc): + # Some OSes (eg. Solaris) place it in libnsl +@@ -916,7 +910,7 @@ + + dnl + dnl Checks to see if AF_INET6 is defined +-AC_DEFUN(AC_CHECK_AF_INET6, [ ++AC_DEFUN([AC_CHECK_AF_INET6], [ + AC_MSG_CHECKING(for AF_INET6) + AC_CACHE_VAL($1, + AC_TRY_COMPILE([ +@@ -934,7 +928,7 @@ + dnl + dnl Checks to see if the sockaddr struct has the 4.4 BSD sa_len member + dnl borrowed from LBL libpcap +-AC_DEFUN(AC_CHECK_SA_LEN, [ ++AC_DEFUN([AC_CHECK_SA_LEN], [ + AC_MSG_CHECKING(if sockaddr struct has sa_len member) + AC_CACHE_VAL($1, + AC_TRY_COMPILE([ +@@ -951,7 +945,7 @@ + + dnl + dnl Checks for portable prototype declaration macro +-AC_DEFUN(AC_CHECK_PORTABLE_PROTO, [ ++AC_DEFUN([AC_CHECK_PORTABLE_PROTO], [ + AC_MSG_CHECKING(for __P) + AC_CACHE_VAL($1, + AC_TRY_COMPILE([ +@@ -966,7 +960,7 @@ + ]) + + dnl checks for u_intXX_t +-AC_DEFUN(AC_CHECK_BITTYPES, [ ++AC_DEFUN([AC_CHECK_BITTYPES], [ + $1=yes + dnl check for u_int8_t + AC_MSG_CHECKING(for u_int8_t) +@@ -1028,7 +1022,7 @@ + + dnl + dnl Checks for addrinfo structure +-AC_DEFUN(AC_STRUCT_ADDRINFO, [ ++AC_DEFUN([AC_STRUCT_ADDRINFO], [ + AC_MSG_CHECKING(for addrinfo) + AC_CACHE_VAL($1, + AC_TRY_COMPILE([ +@@ -1046,7 +1040,7 @@ + + dnl + dnl Checks for NI_MAXSERV +-AC_DEFUN(AC_NI_MAXSERV, [ ++AC_DEFUN([AC_NI_MAXSERV], [ + AC_MSG_CHECKING(for NI_MAXSERV) + AC_CACHE_VAL($1, + AC_EGREP_CPP(yes, [#include +@@ -1063,7 +1057,7 @@ + + dnl + dnl Checks for NI_NAMEREQD +-AC_DEFUN(AC_NI_NAMEREQD, [ ++AC_DEFUN([AC_NI_NAMEREQD], [ + AC_MSG_CHECKING(for NI_NAMEREQD) + AC_CACHE_VAL($1, + AC_EGREP_CPP(yes, [#include +@@ -1080,7 +1074,7 @@ + + dnl + dnl Checks for sockaddr_storage structure +-AC_DEFUN(AC_STRUCT_SA_STORAGE, [ ++AC_DEFUN([AC_STRUCT_SA_STORAGE], [ + AC_MSG_CHECKING(for sockaddr_storage) + AC_CACHE_VAL($1, + AC_TRY_COMPILE([ +@@ -1097,7 +1091,7 @@ + + dnl + dnl Checks for macro of IP address size +-AC_DEFUN(AC_CHECK_ADDRSZ, [ ++AC_DEFUN([AC_CHECK_ADDRSZ], [ + $1=yes + dnl check for INADDRSZ + AC_MSG_CHECKING(for INADDRSZ) +@@ -1131,7 +1125,7 @@ + + dnl + dnl check for RES_USE_INET6 +-AC_DEFUN(AC_CHECK_RES_USE_INET6, [ ++AC_DEFUN([AC_CHECK_RES_USE_INET6], [ + AC_MSG_CHECKING(for RES_USE_INET6) + AC_CACHE_VAL($1, + AC_TRY_COMPILE([ +@@ -1149,7 +1143,7 @@ + + dnl + dnl check for AAAA +-AC_DEFUN(AC_CHECK_AAAA, [ ++AC_DEFUN([AC_CHECK_AAAA], [ + AC_MSG_CHECKING(for AAAA) + AC_CACHE_VAL($1, + AC_TRY_COMPILE([ +@@ -1166,7 +1160,7 @@ + + dnl + dnl check for struct res_state_ext +-AC_DEFUN(AC_STRUCT_RES_STATE_EXT, [ ++AC_DEFUN([AC_STRUCT_RES_STATE_EXT], [ + AC_MSG_CHECKING(for res_state_ext) + AC_CACHE_VAL($1, + AC_TRY_COMPILE([ +@@ -1185,7 +1179,7 @@ + + dnl + dnl check for struct res_state_ext +-AC_DEFUN(AC_STRUCT_RES_STATE, [ ++AC_DEFUN([AC_STRUCT_RES_STATE], [ + AC_MSG_CHECKING(for nsort in res_state) + AC_CACHE_VAL($1, + AC_TRY_COMPILE([ +@@ -1204,7 +1198,7 @@ + + dnl + dnl check for h_errno +-AC_DEFUN(AC_VAR_H_ERRNO, [ ++AC_DEFUN([AC_VAR_H_ERRNO], [ + AC_MSG_CHECKING(for h_errno) + AC_CACHE_VAL(ac_cv_var_h_errno, + AC_TRY_COMPILE([ +@@ -1223,7 +1217,7 @@ + dnl Test for __attribute__ + dnl + +-AC_DEFUN(AC_C___ATTRIBUTE__, [ ++AC_DEFUN([AC_C___ATTRIBUTE__], [ + AC_MSG_CHECKING(for __attribute__) + AC_CACHE_VAL(ac_cv___attribute__, [ + AC_COMPILE_IFELSE( +--- configure.in ++++ configure.in +@@ -185,7 +185,7 @@ + for i in inria kame linux-glibc linux-libinet6 toshiba v6d zeta; do + case $i in + inria) +- dnl http://www.kame.net/ ++# http://www.kame.net/ + AC_EGREP_CPP(yes, + [#include + #ifdef IPV6_INRIA_VERSION +@@ -195,7 +195,7 @@ + CFLAGS="-DINET6 $CFLAGS"]) + ;; + kame) +- dnl http://www.kame.net/ ++# http://www.kame.net/ + AC_EGREP_CPP(yes, + [#include + #ifdef __KAME__ +@@ -208,7 +208,7 @@ + CFLAGS="-DINET6 $CFLAGS"]) + ;; + linux-glibc) +- dnl http://www.v6.linux.or.jp/ ++# http://www.v6.linux.or.jp/ + AC_EGREP_CPP(yes, + [#include + #if defined(__GLIBC__) && __GLIBC__ >= 2 && __GLIBC_MINOR__ >= 1 +@@ -218,7 +218,7 @@ + CFLAGS="-DINET6 $CFLAGS"]) + ;; + linux-libinet6) +- dnl http://www.v6.linux.or.jp/ ++# http://www.v6.linux.or.jp/ + dnl + dnl This also matches Solaris 8 and Tru64 UNIX 5.1, + dnl and possibly other versions of those OSes +@@ -518,7 +518,7 @@ + AC_CHECK_FUNCS(vsnprintf snprintf,, + [needsnprintf=yes]) + if test $needsnprintf = yes; then +- AC_LIBOBJ(snprintf) ++ AC_LIBOBJ([snprintf]) + fi + + AC_LBL_TYPE_SIGNAL diff --git a/tcpdump-3.9.5-juniper.diff b/tcpdump-3.9.5-juniper.diff new file mode 100644 index 0000000..442387a --- /dev/null +++ b/tcpdump-3.9.5-juniper.diff @@ -0,0 +1,13 @@ +--- print-juniper.c ++++ print-juniper.c +@@ -256,8 +256,8 @@ + tok2str(juniper_ipsec_type_values,"Unknown",ih->type), + ih->type, + EXTRACT_32BITS(&ih->spi), +- ipaddr_string(EXTRACT_32BITS(&ih->src_ip)), +- ipaddr_string(EXTRACT_32BITS(&ih->dst_ip)), ++ ipaddr_string(&ih->src_ip), ++ ipaddr_string(&ih->dst_ip), + l2info.length); + } else { + printf("ES SA, index %u, ttl %u type %s (%u), length %u\n", diff --git a/tcpdump-3.9.5-prototypes.diff b/tcpdump-3.9.5-prototypes.diff new file mode 100644 index 0000000..99e927b --- /dev/null +++ b/tcpdump-3.9.5-prototypes.diff @@ -0,0 +1,23 @@ +--- print-radius.c ++++ print-radius.c +@@ -56,6 +56,7 @@ + #include + + #include ++#include + + #include "interface.h" + #include "addrtoname.h" +--- setsignal.c ++++ setsignal.c +@@ -39,6 +39,10 @@ + #include "os-proto.h" + #endif + ++#ifdef HAVE_SIGSET ++void *sigset(int signum, void (*handler)(int)); ++#endif ++ + #include "setsignal.h" + + /* diff --git a/tcpdump-3.9.5-uninitialized.diff b/tcpdump-3.9.5-uninitialized.diff new file mode 100644 index 0000000..9093dfe --- /dev/null +++ b/tcpdump-3.9.5-uninitialized.diff @@ -0,0 +1,11 @@ +--- print-zephyr.c ++++ print-zephyr.c +@@ -134,7 +134,7 @@ + void + zephyr_print(const u_char *cp, int length) + { +- struct z_packet z; ++ struct z_packet z = {}; + char *parse = (char *) cp; + int parselen = length; + char *s; diff --git a/tcpdump-3.9.5.tar.bz2 b/tcpdump-3.9.5.tar.bz2 new file mode 100644 index 0000000..555bc49 --- /dev/null +++ b/tcpdump-3.9.5.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b4df54734d1f3dc78b606a1811d26ab2f30cf49bef243e22c4ae9d7a27224e5f +size 589246 diff --git a/tcpdump-qeth b/tcpdump-qeth new file mode 100644 index 0000000..d508f4d --- /dev/null +++ b/tcpdump-qeth @@ -0,0 +1,80 @@ +#!/usr/bin/perl +# (C)2002 by IBM Corporation, published under terms of the GPL V2 +# Author: Holger Smolinski +# this file is a wrapper around tcpdump, which provides the capability +# for debugging qeth and/or HiperSocket(TM) network interfaces under +# Linux for S/390 and zSeries. tcpdump Syntax is preserved. +# Bugs: When the input pipe ends the process is not stopped. + +use Getopt::Std; + +my $incmd,$outcmd; + +getopts ("adeflnNOpqRStuvxXc:C:F:i:m:r:s:T:w:E:",\%options); + +# Check which options to replace for the reader process +if ( defined($options{'r'}) ) { + $incmd = "cat $options{'r'}"; + $filter_out = 1; +} else { + $incmd = "tcpdump -l -w -"; + $filter_out = 0; + if ( defined($options{'i'}) ) { + $incmd .= " -i ".$options{'i'}; + delete $options{'i'}; # remove -i option from option list + } + foreach $key (@ARGV) { + $incmd .= " $key"; + } +} + +$outcmd = "tcpdump -r -"; +# Rebuild arglist for the writer process +delete $options{'r'}; # remove -r option from option list +foreach $key (keys %options) { + if ((index "adeflnNOpqRStuvxX",$key) >= 0 ) { + $outcmd .= " -$key"; + } else { + $outcmd .= " -$key $options{$key}"; + } + if ( $filter_out == 1 ) { + foreach $key (@ARGV) { + $outcmd .= " $key"; + } + } +} + +open READER,"$incmd|" or die "Cannot spawn reader command $incmd"; +open WRITER,"|$outcmd" or die "Cannot spawn writer command $outcmd"; + +sysread READER,$filehdr,24 or die "Cannot read file header"; +($magic,$version_major,$version_minor,$thiszone,$sigfigs,$snaplen,$linktype) = + unpack("ISSIIII",$filehdr); +$snaplen += 14; +$filehdr = pack ("ISSIIII",($magic,$version_major,$version_minor,$thiszone,$sigfigs,$snaplen,$linktype)); +syswrite WRITER,$filehdr,24; + +$etherheaderip6 = pack ("IIIS",(0,0,0,0x8dd)); +$etherheaderip4 = pack ("IIIS",(0,0,0,0x800)); + +while ( 1 ) { + $hdrd = 0; + do {$hdrd += sysread READER, $pkthdr, 16-$hdrd, $hdrd; } while ($hdrd < 16); + ($seconds,$usecs,$caplen,$len) = unpack ("IIII",$pkthdr); + $hdrd = 0; + do {$hdrd += sysread READER, $packet,$caplen-$hdrd, $hdrd; } while ($hdrd < $caplen); + $paktype = unpack("C",$packet); + if ( $paktype & 0xf0 == 0x60 ) { + $caplen += 14; + $len += 14; + $header = $etehrheaderip6; + } elsif ($paktype >= 0x45 && $paktype <= 0x4f ) { + $caplen += 14; + $len += 14; + $header = $etherheaderip4; + } else { + $header = ""; + } + $pkthdr = pack ("IIII",($seconds,$usecs,$caplen,$len)); + syswrite WRITER,"$pkthdr$header$packet",16+$caplen; +} diff --git a/tcpdump.changes b/tcpdump.changes new file mode 100644 index 0000000..aaf9e95 --- /dev/null +++ b/tcpdump.changes @@ -0,0 +1,268 @@ +------------------------------------------------------------------- +Wed Jan 3 15:43:19 CET 2007 - prusnak@suse.cz + +- update to 3.9.5 + * Fixes for 64bit compiling + * Updated list of DNS RR typecodes + * Add basic support for keyed authentication TCP option + * Fix printing for 4.4BSD/NetBSD NFS Filehandles + * Add support for: + - Frame-Relay ARP + - parsing Juniper .pcap files + - FRF.16 Multilink Frame-Relay (DLT_MFR) + - PIMv2 checksum verification + - further dissection of the IPCP Compression Option + - Cisco's proposed VQP protocol + - Cisco style NLPID encapsulation + - PPP over Frame-Relay + - Address-Withdraw and Label-Withdraw Msgs + - BFD Discriminator TLV + - BGP signaled VPLS + +------------------------------------------------------------------- +Wed Jan 25 21:42:01 CET 2006 - mls@suse.de + +- converted neededforbuild to BuildRequires + +------------------------------------------------------------------- +Thu Jan 12 20:17:27 CET 2006 - mjancar@suse.cz + +- compile with -fstack-protector + +------------------------------------------------------------------- +Mon Jan 9 17:30:29 CET 2006 - mjancar@suse.cz + +- update to 3.9.4 +- drop obsolete patches + * tcpdump-3.9.4-overflow.diff + +------------------------------------------------------------------- +Thu Sep 1 14:50:13 CEST 2005 - mjancar@suse.cz + +- enable support for TSO packets (#114159) + +------------------------------------------------------------------- +Fri Aug 5 08:59:48 CEST 2005 - cthiel@suse.de + +- fixed buffer overflow in addrtoname.c:499 + +------------------------------------------------------------------- +Tue Aug 2 19:43:32 CEST 2005 - mjancar@suse.cz + +- update to 3.9.3 + +------------------------------------------------------------------- +Thu Aug 05 13:11:52 CEST 2004 - postadal@suse.cz + +- updated to version 3.8.3 +- removed obsoleted patches (isakmp-fix2, isakmp-fix3, radius-fix) + +------------------------------------------------------------------- +Mon Mar 29 17:44:10 CEST 2004 - postadal@suse.cz + +- fixed overflow in ISAKMP (CAN-2004-0183) [#36828] + +------------------------------------------------------------------- +Fri Feb 6 09:32:15 CET 2004 - ro@suse.de + +- fix configure.in (test for pcap_debug was broken) + +------------------------------------------------------------------- +Tue Jan 20 15:42:46 CET 2004 - postadal@suse.cz + +- updated to version 3.8.1 + * fixed security bug in L2TP (CAN-2003-1029) +- removed obsoleted patches (isakmp-buffer-overflow-fix, compile) + +- fixed security bugs in these parsers: RADIUS (CAN-2004-0055), + ISAKMP (CAN-2004-0057) [#33763] + +------------------------------------------------------------------- +Sat Jan 10 17:26:25 CET 2004 - adrian@suse.de + +- build as user + +------------------------------------------------------------------- +Tue Jan 06 14:12:36 CET 2004 - postadal@suse.cz + +- fixed two remotely exploitable buffer overflows in the ISAKMP parser + [#33763] (CAN-2003-0989) + +------------------------------------------------------------------- +Thu Jul 24 14:03:01 CEST 2003 - postadal@suse.cz + +- updated to version 3.7.2 +- removed obsoleted patches (tcpdump-nfs-fix, tcpdump-isakmp, tcpdump-bgp) + +------------------------------------------------------------------- +Wed May 7 16:08:11 CEST 2003 - ro@suse.de + +- make it compile with current glibc headers + (move include of netinet/in.h further up) + +------------------------------------------------------------------- +Wed Mar 05 15:22:20 CET 2003 - postadal@suse.cz + +- fixed security bugs in parsing ISAKMP, BGP and NFS + +------------------------------------------------------------------- +Tue Oct 1 12:04:37 CEST 2002 - froh@suse.de + +- s390/s390x: dumping of qeth interfaces needs some filtering, which + is accomplished by the new 'tcpdump-qeth' (#15626, #22085) + +------------------------------------------------------------------- +Mon May 20 13:12:35 CEST 2002 - postadal@suse.de + +- fixed bug in displaying NFS traffic +- updated to version 3.7.1 + * support more protocols + * better Linux libc5 compat + +------------------------------------------------------------------- +Wed Apr 3 17:05:07 CEST 2002 - postadal@suse.cz + +- fixed to compile with autoconf-2.53 + +------------------------------------------------------------------- +Mon Jun 18 11:09:57 CEST 2001 - cihlar@suse.cz + +- updated to version 3.6.2 +- removed obsolete patches +- compile against package libpcap + +------------------------------------------------------------------- +Tue Feb 6 12:02:52 CET 2001 - ro@suse.de + +- tcpclice.c: include time.h +- smbutil.c: include time.h + +------------------------------------------------------------------- +Fri Jan 19 00:35:14 PST 2001 - bk@suse.de + +- Turn off PACKET_RX_RING too. It is not available in lx_sus22 and + not enabled in our 2.4 kernel configs and causes a warning on + every start and possible trouble. See bug #5178 + +------------------------------------------------------------------- +Thu Jan 11 20:01:29 CET 2001 - ak@suse.de + +- Turn off PACKET_TRECV. It's not enabled in our kernel and causes some +problems. + +------------------------------------------------------------------- +Fri Nov 24 17:31:36 CET 2000 - ak@suse.de + +- Add mb() for ppc + +------------------------------------------------------------------- +Tue Nov 14 13:00:34 CET 2000 - ro@suse.de + +- groups sorted + +------------------------------------------------------------------- +Tue Nov 14 12:09:19 MET 2000 - ak@suse.de + +- add some protocols to make it build on 6.1 again + +------------------------------------------------------------------- +Mon Nov 13 18:19:49 MET 2000 - ak@suse.de + +- add membar fix for sparc + +------------------------------------------------------------------- +Sat Nov 11 20:10:43 MET 2000 - ak@suse.de + +- fix some buffer overflows. + +------------------------------------------------------------------- +Thu May 18 17:46:34 CEST 2000 - schwab@suse.de + +- Fix missing declaration. +- Fix broken includes. +- Get rid of Makefile.Linux and clean up spec file. +- Update config.{sub,guess}. + +------------------------------------------------------------------- +Thu May 11 13:41:14 CEST 2000 - ak@suse.de + +- add security fix for endless dns looping. From Guy Harris. + +------------------------------------------------------------------- +Thu Mar 2 12:38:44 CET 2000 - ak@suse.de + +- move man pages to /usr/share/man + +------------------------------------------------------------------- +Wed Dec 22 14:24:46 CET 1999 - ak@suse.de + +- fix promiscuous mode bug + +------------------------------------------------------------------- +Fri Dec 3 21:45:44 CET 1999 - bk@suse.de + +- disabled NO_SMP_DEBUG changes by ank(did not compile on sparc) + +------------------------------------------------------------------- +Sat Nov 6 16:22:35 CET 1999 - bk@suse.de + +- Integrated changes from ak: + strip tcpdump and a fix a -p crash bug (pcap-maddr-fix) + +------------------------------------------------------------------- +Wed Oct 27 04:52:43 CEST 1999 - bk@suse.de + +- Andi Kleen added patches from Alexey Kuznetsov. Features e.g.: + - device independent libpcap, Kernel support for new link-layers, e.g. ISDN + (libpcap uses PF_PACKET,SOCK_DGRAM instead of PF_INET,SOCK_PACKET) + - IPv6 and APM support, SMB updates + - libpcap support for "In Kernel Packet Filtering" (CONFIG_FILTER) +- made a libpcapn subpackage which holds the new libpcap for developers. +- Added fix to reestablish old output format of tcpdump from Andi Kleen. + +------------------------------------------------------------------- +Mon Sep 13 17:23:57 CEST 1999 - bs@suse.de + +- ran old prepare_spec on spec file to switch to new prepare_spec. + +------------------------------------------------------------------- +Tue Sep 29 10:03:04 MEST 1998 - ro@suse.de + +- print_i4l : include net/ethernet.h instead of netinet/if_ether.h for glibc + +---------------------------------------------------------------------------- +Mon Mar 2 16:58:50 MET 1998 - florian@suse.de + +- update to version 3.4a6 + +---------------------------------------------------------------------------- +Mon Jul 7 13:17:08 CEST 1997 - florian@suse.de + +- update to version 3.4a5 + +- added isdn-patches + + +---------------------------------------------------------------------------- +Mon Jul 7 13:17:08 CEST 1997 - florian@suse.de + + +- update to version 3.4a3 + + +---------------------------------------------------------------------------- +Sun Apr 13 23:04:29 MEST 1997 - florian@suse.de + + +- update to new version 3.3.1a2 with automatic detection of packet types + + +---------------------------------------------------------------------------- +Sun Nov 10 22:17:10 CET 1996 - florian@suse.de + + +- added the changes distributed with samba + +- added isdn patches + + diff --git a/tcpdump.spec b/tcpdump.spec new file mode 100644 index 0000000..3406d3f --- /dev/null +++ b/tcpdump.spec @@ -0,0 +1,205 @@ +# +# spec file for package tcpdump (Version 3.9.5) +# +# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. +# This file and all modifications and additions to the pristine +# package are under the same license as the package itself. +# +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +# norootforbuild + +Name: tcpdump +BuildRequires: libpcap libsmi openssl-devel +Version: 3.9.5 +Release: 1 +Autoreqprov: on +License: BSD License and BSD-like +Group: Productivity/Networking/Diagnostic +URL: http://www.tcpdump.org/ +Summary: A Packet Sniffer +Source: %{name}-%{version}.tar.bz2 +Source1: %{name}-qeth +Patch0: %{name}-%{version}-prototypes.diff +Patch1: %{name}-%{version}-autoconf.diff +Patch2: %{name}-%{version}-aliasing.diff +Patch3: %{name}-%{version}-uninitialized.diff +Patch4: %{name}-%{version}-juniper.diff +BuildRoot: %{_tmppath}/%{name}-%{version}-build + +%description +This program can "read" all or only certain packets going over the +ethernet. It can be used to debug specific network problems. + + + +%prep +%setup -q +%patch0 +%patch1 +%patch2 +%patch3 +%patch4 + +%build +%{suse_update_config -f} +mv aclocal.m4 acinclude.m4 +aclocal --force +libtoolize --force --copy +autoconf --force +autoheader --force +CFLAGS="$RPM_OPT_FLAGS -Wall -DGUESS_TSO -fstack-protector" \ + ./configure \ + --prefix=%{_prefix} \ + --mandir=%{_mandir} \ + --enable-ipv6 +make + +%install +make DESTDIR=$RPM_BUILD_ROOT install +%ifarch s390 s390x + install -m755 $RPM_SOURCE_DIR/tcpdump-qeth $RPM_BUILD_ROOT%{_sbindir} +%endif + +%clean +rm -rf $RPM_BUILD_ROOT + +%files +%defattr(-,root,root) +%doc README CHANGES CREDITS LICENSE PLATFORMS *.awk +%doc %{_mandir}/man?/* +%{_sbindir}/* + +%changelog -n tcpdump +* Wed Jan 03 2007 - prusnak@suse.cz +- update to 3.9.5 + * Fixes for 64bit compiling + * Updated list of DNS RR typecodes + * Add basic support for keyed authentication TCP option + * Fix printing for 4.4BSD/NetBSD NFS Filehandles + * Add support for: + - Frame-Relay ARP + - parsing Juniper .pcap files + - FRF.16 Multilink Frame-Relay (DLT_MFR) + - PIMv2 checksum verification + - further dissection of the IPCP Compression Option + - Cisco's proposed VQP protocol + - Cisco style NLPID encapsulation + - PPP over Frame-Relay + - Address-Withdraw and Label-Withdraw Msgs + - BFD Discriminator TLV + - BGP signaled VPLS +* Wed Jan 25 2006 - mls@suse.de +- converted neededforbuild to BuildRequires +* Thu Jan 12 2006 - mjancar@suse.cz +- compile with -fstack-protector +* Mon Jan 09 2006 - mjancar@suse.cz +- update to 3.9.4 +- drop obsolete patches + * tcpdump-3.9.4-overflow.diff +* Thu Sep 01 2005 - mjancar@suse.cz +- enable support for TSO packets (#114159) +* Fri Aug 05 2005 - cthiel@suse.de +- fixed buffer overflow in addrtoname.c:499 +* Tue Aug 02 2005 - mjancar@suse.cz +- update to 3.9.3 +* Thu Aug 05 2004 - postadal@suse.cz +- updated to version 3.8.3 +- removed obsoleted patches (isakmp-fix2, isakmp-fix3, radius-fix) +* Mon Mar 29 2004 - postadal@suse.cz +- fixed overflow in ISAKMP (CAN-2004-0183) [#36828] +* Fri Feb 06 2004 - ro@suse.de +- fix configure.in (test for pcap_debug was broken) +* Tue Jan 20 2004 - postadal@suse.cz +- updated to version 3.8.1 + * fixed security bug in L2TP (CAN-2003-1029) +- removed obsoleted patches (isakmp-buffer-overflow-fix, compile) +- fixed security bugs in these parsers: RADIUS (CAN-2004-0055), + ISAKMP (CAN-2004-0057) [#33763] +* Sat Jan 10 2004 - adrian@suse.de +- build as user +* Tue Jan 06 2004 - postadal@suse.cz +- fixed two remotely exploitable buffer overflows in the ISAKMP parser + [#33763] (CAN-2003-0989) +* Thu Jul 24 2003 - postadal@suse.cz +- updated to version 3.7.2 +- removed obsoleted patches (tcpdump-nfs-fix, tcpdump-isakmp, tcpdump-bgp) +* Wed May 07 2003 - ro@suse.de +- make it compile with current glibc headers + (move include of netinet/in.h further up) +* Wed Mar 05 2003 - postadal@suse.cz +- fixed security bugs in parsing ISAKMP, BGP and NFS +* Tue Oct 01 2002 - froh@suse.de +- s390/s390x: dumping of qeth interfaces needs some filtering, which + is accomplished by the new 'tcpdump-qeth' (#15626, #22085) +* Mon May 20 2002 - postadal@suse.de +- fixed bug in displaying NFS traffic +- updated to version 3.7.1 + * support more protocols + * better Linux libc5 compat +* Wed Apr 03 2002 - postadal@suse.cz +- fixed to compile with autoconf-2.53 +* Mon Jun 18 2001 - cihlar@suse.cz +- updated to version 3.6.2 +- removed obsolete patches +- compile against package libpcap +* Tue Feb 06 2001 - ro@suse.de +- tcpclice.c: include time.h +- smbutil.c: include time.h +* Fri Jan 19 2001 - bk@suse.de +- Turn off PACKET_RX_RING too. It is not available in lx_sus22 and + not enabled in our 2.4 kernel configs and causes a warning on + every start and possible trouble. See bug #5178 +* Thu Jan 11 2001 - ak@suse.de +- Turn off PACKET_TRECV. It's not enabled in our kernel and causes some + problems. +* Fri Nov 24 2000 - ak@suse.de +- Add mb() for ppc +* Tue Nov 14 2000 - ro@suse.de +- groups sorted +* Tue Nov 14 2000 - ak@suse.de +- add some protocols to make it build on 6.1 again +* Mon Nov 13 2000 - ak@suse.de +- add membar fix for sparc +* Sat Nov 11 2000 - ak@suse.de +- fix some buffer overflows. +* Thu May 18 2000 - schwab@suse.de +- Fix missing declaration. +- Fix broken includes. +- Get rid of Makefile.Linux and clean up spec file. +- Update config.{sub,guess}. +* Thu May 11 2000 - ak@suse.de +- add security fix for endless dns looping. From Guy Harris. +* Thu Mar 02 2000 - ak@suse.de +- move man pages to /usr/share/man +* Wed Dec 22 1999 - ak@suse.de +- fix promiscuous mode bug +* Fri Dec 03 1999 - bk@suse.de +- disabled NO_SMP_DEBUG changes by ank(did not compile on sparc) +* Sat Nov 06 1999 - bk@suse.de +- Integrated changes from ak: + strip tcpdump and a fix a -p crash bug (pcap-maddr-fix) +* Wed Oct 27 1999 - bk@suse.de +- Andi Kleen added patches from Alexey Kuznetsov. Features e.g.: + - device independent libpcap, Kernel support for new link-layers, e.g. ISDN + (libpcap uses PF_PACKET,SOCK_DGRAM instead of PF_INET,SOCK_PACKET) + - IPv6 and APM support, SMB updates + - libpcap support for "In Kernel Packet Filtering" (CONFIG_FILTER) +- made a libpcapn subpackage which holds the new libpcap for developers. +- Added fix to reestablish old output format of tcpdump from Andi Kleen. +* Mon Sep 13 1999 - bs@suse.de +- ran old prepare_spec on spec file to switch to new prepare_spec. +* Tue Sep 29 1998 - ro@suse.de +- print_i4l : include net/ethernet.h instead of netinet/if_ether.h for glibc +* Mon Mar 02 1998 - florian@suse.de +- update to version 3.4a6 +* Mon Jul 07 1997 - florian@suse.de +- update to version 3.4a5 +- added isdn-patches +- update to version 3.4a3 +* Sun Apr 13 1997 - florian@suse.de +- update to new version 3.3.1a2 with automatic detection of packet types +* Thu Jan 02 1997 - florian@suse.de +- added the changes distributed with samba +- added isdn patches