[svn] r6389 - in trunk/rpms: dsniff mapchan
perl-Lemonldap-NG-Handler perl-Lemonldap-NG-Manager
perl-Lingua-Alphabet-Phonetic perl-List-Compare
perl-Locale-Maketext perl-Locale-PO perl-MARC-Charset
perl-MIME-Types perl-Mail-DKIM perl-Mail-IMAPClient
perl-Math-Prime-XS perl-Math-Random-MT-Auto soundconverter
subversion
packagers at lists.rpmforge.net
packagers at lists.rpmforge.net
Tue Jun 24 23:48:23 CEST 2008
Author: dag
Date: 2008-06-24 22:48:21 +0100 (Tue, 24 Jun 2008)
New Revision: 6389
Added:
trunk/rpms/dsniff/dsniff-2.3-timeh.patch
trunk/rpms/dsniff/dsniff-2.4-amd64_fix.patch
trunk/rpms/dsniff/dsniff-2.4-arpa_inet_header.patch
trunk/rpms/dsniff/dsniff-2.4-checksum.patch
trunk/rpms/dsniff/dsniff-2.4-checksum_libnids.patch
trunk/rpms/dsniff/dsniff-2.4-fedora_dirs.patch
trunk/rpms/dsniff/dsniff-2.4-glib2.patch
trunk/rpms/dsniff/dsniff-2.4-libnet_11.patch
trunk/rpms/dsniff/dsniff-2.4-mailsnarf_corrupt.patch
trunk/rpms/dsniff/dsniff-2.4-multiple_intf.patch
trunk/rpms/dsniff/dsniff-2.4-obsolete_time.patch
trunk/rpms/dsniff/dsniff-2.4-openssl_098.patch
trunk/rpms/dsniff/dsniff-2.4-pcap_read_dump.patch
trunk/rpms/dsniff/dsniff-2.4-pop_with_version.patch
trunk/rpms/dsniff/dsniff-2.4-sshcrypto.patch
trunk/rpms/dsniff/dsniff-2.4-string_header.patch
trunk/rpms/dsniff/dsniff-2.4-sysconf_clocks.patch
trunk/rpms/dsniff/dsniff-2.4-time_h.patch
trunk/rpms/dsniff/dsniff-2.4-urlsnarf_escape.patch
trunk/rpms/dsniff/dsniff-2.4-urlsnarf_zeropad.patch
trunk/rpms/subversion/subversion-1.4.spec
trunk/rpms/subversion/subversion-1.5.0-pie.patch
Modified:
trunk/rpms/dsniff/dsniff.spec
trunk/rpms/mapchan/mapchan.spec
trunk/rpms/perl-Lemonldap-NG-Handler/perl-Lemonldap-NG-Handler.spec
trunk/rpms/perl-Lemonldap-NG-Manager/perl-Lemonldap-NG-Manager.spec
trunk/rpms/perl-Lingua-Alphabet-Phonetic/perl-Lingua-Alphabet-Phonetic.spec
trunk/rpms/perl-List-Compare/perl-List-Compare.spec
trunk/rpms/perl-Locale-Maketext/perl-Locale-Maketext.spec
trunk/rpms/perl-Locale-PO/perl-Locale-PO.spec
trunk/rpms/perl-MARC-Charset/perl-MARC-Charset.spec
trunk/rpms/perl-MIME-Types/perl-MIME-Types.spec
trunk/rpms/perl-Mail-DKIM/perl-Mail-DKIM.spec
trunk/rpms/perl-Mail-IMAPClient/perl-Mail-IMAPClient.spec
trunk/rpms/perl-Math-Prime-XS/perl-Math-Prime-XS.spec
trunk/rpms/perl-Math-Random-MT-Auto/perl-Math-Random-MT-Auto.spec
trunk/rpms/soundconverter/soundconverter.spec
trunk/rpms/subversion/subversion.spec
Log:
Updates
Added: trunk/rpms/dsniff/dsniff-2.3-timeh.patch
===================================================================
--- trunk/rpms/dsniff/dsniff-2.3-timeh.patch (rev 0)
+++ trunk/rpms/dsniff/dsniff-2.3-timeh.patch 2008-06-24 21:48:21 UTC (rev 6389)
@@ -0,0 +1,13 @@
+diff -crN dsniff-2.4/sshow.c dsniff-2.4.fixed.FC2/sshow.c
+*** dsniff-2.4/sshow.c Sun Mar 18 22:52:15 2001
+--- dsniff-2.4.fixed.FC2/sshow.c Mon Nov 1 11:22:06 2004
+***************
+*** 15,20 ****
+--- 15,21 ----
+
+ #include <sys/types.h>
+ #include <sys/times.h>
++ #include <time.h>
+
+ #include <netinet/in_systm.h>
+ #include <netinet/in.h>
Added: trunk/rpms/dsniff/dsniff-2.4-amd64_fix.patch
===================================================================
--- trunk/rpms/dsniff/dsniff-2.4-amd64_fix.patch (rev 0)
+++ trunk/rpms/dsniff/dsniff-2.4-amd64_fix.patch 2008-06-24 21:48:21 UTC (rev 6389)
@@ -0,0 +1,219 @@
+Patch by Steve Kemp <skx at debian.org> for dsniff >= 2.4b1, which fixes the
+compiling under AMD64 respectively x86_64. For further information, please
+have a look to Debian bug ID #254002.
+
+--- dsniff-2.4b1/configure 2005-06-23 03:30:37.000000000 +0000
++++ dsniff-2.4b1/configure.amd64_fix 2005-06-23 04:15:59.000000000 +0000
+@@ -2667,15 +2667,62 @@
+ echo "$ac_t""no" 1>&6
+ fi
+
++echo $ac_n "checking for __dn_expand in -lresolv""... $ac_c" 1>&6
++echo "configure:2672: checking for __dn_expand in -lresolv" >&5
++ac_lib_var=`echo resolv'_'__dn_expand | sed 'y%./+-%__p_%'`
++if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++else
++ ac_save_LIBS="$LIBS"
++LIBS="-lresolv $LIBS"
++cat > conftest.$ac_ext <<EOF
++#line 2680 "configure"
++#include "confdefs.h"
++/* Override any gcc2 internal prototype to avoid an error. */
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char __dn_expand();
++
++int main() {
++__dn_expand()
++; return 0; }
++EOF
++if { (eval echo configure:2691: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_lib_$ac_lib_var=yes"
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ eval "ac_cv_lib_$ac_lib_var=no"
++fi
++rm -f conftest*
++LIBS="$ac_save_LIBS"
++
++fi
++if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
++ echo "$ac_t""yes" 1>&6
++ ac_tr_lib=HAVE_LIB`echo resolv | sed -e 's/[^a-zA-Z0-9_]/_/g' \
++ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
++ cat >> confdefs.h <<EOF
++#define $ac_tr_lib 1
++EOF
++
++ LIBS="-lresolv $LIBS"
++
++else
++ echo "$ac_t""no" 1>&6
++fi
++
+ for ac_func in dirname strlcpy strlcat strsep
+ do
+ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+-echo "configure:2674: checking for $ac_func" >&5
++echo "configure:2721: checking for $ac_func" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 2679 "configure"
++#line 2726 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+@@ -2698,7 +2745,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:2702: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:2749: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+ else
+@@ -2728,12 +2775,12 @@
+ for ac_func in MD5Update
+ do
+ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+-echo "configure:2732: checking for $ac_func" >&5
++echo "configure:2779: checking for $ac_func" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 2737 "configure"
++#line 2784 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+@@ -2756,7 +2803,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:2760: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:2807: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+ else
+@@ -2788,12 +2835,12 @@
+ for ac_func in warnx
+ do
+ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+-echo "configure:2792: checking for $ac_func" >&5
++echo "configure:2839: checking for $ac_func" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 2797 "configure"
++#line 2844 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+@@ -2816,7 +2863,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:2820: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:2867: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+ else
+@@ -2848,12 +2895,12 @@
+ for ac_func in ether_ntoa
+ do
+ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+-echo "configure:2852: checking for $ac_func" >&5
++echo "configure:2899: checking for $ac_func" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 2857 "configure"
++#line 2904 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+@@ -2876,7 +2923,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:2880: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:2927: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+ else
+@@ -2912,7 +2959,7 @@
+ fi
+
+ echo $ac_n "checking for Berkeley DB with 1.85 compatibility""... $ac_c" 1>&6
+-echo "configure:2916: checking for Berkeley DB with 1.85 compatibility" >&5
++echo "configure:2963: checking for Berkeley DB with 1.85 compatibility" >&5
+ # Check whether --with-db or --without-db was given.
+ if test "${with_db+set}" = set; then
+ withval="$with_db"
+@@ -3015,7 +3062,7 @@
+
+
+ echo $ac_n "checking for libpcap""... $ac_c" 1>&6
+-echo "configure:3019: checking for libpcap" >&5
++echo "configure:3066: checking for libpcap" >&5
+ # Check whether --with-libpcap or --without-libpcap was given.
+ if test "${with_libpcap+set}" = set; then
+ withval="$with_libpcap"
+@@ -3063,7 +3110,7 @@
+
+
+ echo $ac_n "checking for libnet""... $ac_c" 1>&6
+-echo "configure:3067: checking for libnet" >&5
++echo "configure:3114: checking for libnet" >&5
+ # Check whether --with-libnet or --without-libnet was given.
+ if test "${with_libnet+set}" = set; then
+ withval="$with_libnet"
+@@ -3110,7 +3157,7 @@
+
+
+ echo $ac_n "checking for libnids""... $ac_c" 1>&6
+-echo "configure:3114: checking for libnids" >&5
++echo "configure:3161: checking for libnids" >&5
+ # Check whether --with-libnids or --without-libnids was given.
+ if test "${with_libnids+set}" = set; then
+ withval="$with_libnids"
+@@ -3152,9 +3199,9 @@
+ save_cppflags="$CPPFLAGS"
+ CPPFLAGS="$NIDSINC"
+ echo $ac_n "checking whether libnids version is good""... $ac_c" 1>&6
+-echo "configure:3156: checking whether libnids version is good" >&5
++echo "configure:3203: checking whether libnids version is good" >&5
+ cat > conftest.$ac_ext <<EOF
+-#line 3158 "configure"
++#line 3205 "configure"
+ #include "confdefs.h"
+ #include <nids.h>
+ EOF
+@@ -3173,7 +3220,7 @@
+
+
+ echo $ac_n "checking for OpenSSL""... $ac_c" 1>&6
+-echo "configure:3177: checking for OpenSSL" >&5
++echo "configure:3224: checking for OpenSSL" >&5
+ # Check whether --with-openssl or --without-openssl was given.
+ if test "${with_openssl+set}" = set; then
+ withval="$with_openssl"
+--- dsniff-2.4b1/configure.in 2005-06-23 03:30:37.000000000 +0000
++++ dsniff-2.4b1/configure.in.amd64_fix 2005-06-23 04:16:01.000000000 +0000
+@@ -57,6 +57,7 @@
+ AC_CHECK_LIB(nsl, gethostbyname)
+ dnl XXX - feh, everything except OpenBSD sux.
+ AC_CHECK_LIB(resolv, dn_expand)
++AC_CHECK_LIB(resolv, __dn_expand)
+ AC_REPLACE_FUNCS(dirname strlcpy strlcat strsep)
+ needmd5=no
+ AC_CHECK_FUNCS(MD5Update, , [needmd5=yes])
Added: trunk/rpms/dsniff/dsniff-2.4-arpa_inet_header.patch
===================================================================
--- trunk/rpms/dsniff/dsniff-2.4-arpa_inet_header.patch (rev 0)
+++ trunk/rpms/dsniff/dsniff-2.4-arpa_inet_header.patch 2008-06-24 21:48:21 UTC (rev 6389)
@@ -0,0 +1,63 @@
+Patch by Luciano Bello <luciano at linux.org.ar> for dsniff >= 2.4b1, which
+adds the missing includes of arpa/inet.
+
+--- dsniff-2.4b1/decode_aim.c 2007-06-17 16:22:39.000000000 -0300
++++ dsniff-2.4b1/decode_aim.c.inet 2007-06-17 16:26:46.000000000 -0300
+@@ -14,6 +14,7 @@
+
+ #include <stdio.h>
+ #include <string.h>
++#include <arpa/inet.h>
+
+ #include "hex.h"
+ #include "buf.h"
+--- dsniff-2.4b1/decode_mmxp.c 2007-06-17 16:22:39.000000000 -0300
++++ dsniff-2.4b1/decode_mmxp.c.inet 2007-06-17 16:26:46.000000000 -0300
+@@ -21,6 +21,7 @@
+
+ #include <stdio.h>
+ #include <string.h>
++#include <arpa/inet.h>
+
+ #include "buf.h"
+ #include "decode.h"
+--- dsniff-2.4b1/decode_pptp.c 2007-06-17 16:22:39.000000000 -0300
++++ dsniff-2.4b1/decode_pptp.c.inet 2007-06-17 16:26:46.000000000 -0300
+@@ -16,6 +16,7 @@
+
+ #include <stdio.h>
+ #include <string.h>
++#include <arpa/inet.h>
+
+ #include "buf.h"
+ #include "decode.h"
+--- dsniff-2.4b1/decode_tds.c 2007-06-17 16:26:46.000000000 -0300
++++ dsniff-2.4b1/decode_tds.c.inet 2007-06-17 16:26:46.000000000 -0300
+@@ -19,6 +19,7 @@
+ #include <stdio.h>
+ #include <string.h>
+ #include <strlcat.h>
++#include <arpa/inet.h>
+
+ #include "decode.h"
+
+--- dsniff-2.4b1/decode_vrrp.c 2007-06-17 16:22:39.000000000 -0300
++++ dsniff-2.4b1/decode_vrrp.c.inet 2007-06-17 16:26:46.000000000 -0300
+@@ -15,6 +15,7 @@
+
+ #include <stdio.h>
+ #include <string.h>
++#include <arpa/inet.h>
+
+ #include "buf.h"
+ #include "decode.h"
+--- dsniff-2.4b1/ssh.c 2007-06-17 16:26:46.000000000 -0300
++++ dsniff-2.4b1/ssh.c.inet 2007-06-17 16:26:46.000000000 -0300
+@@ -23,6 +23,7 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <arpa/inet.h>
+ #include <unistd.h>
+
+ #include "hex.h"
Added: trunk/rpms/dsniff/dsniff-2.4-checksum.patch
===================================================================
--- trunk/rpms/dsniff/dsniff-2.4-checksum.patch (rev 0)
+++ trunk/rpms/dsniff/dsniff-2.4-checksum.patch 2008-06-24 21:48:21 UTC (rev 6389)
@@ -0,0 +1,27 @@
+Patch by iotr Engelking <inkerman42 at gmail.com> for dsniff >= 2.4b1, which
+disables the filtering packets with incorrect checksum. And for any further
+information, please have a look to Debian bug ID #372536.
+
+--- dsniff-2.4b1/urlsnarf.c 2006-09-21 01:50:01.000000000 +0200
++++ dsniff-2.4b1/urlsnarf.c.checksum 2006-09-21 01:51:13.000000000 +0200
+@@ -200,6 +200,7 @@
+ extern char *optarg;
+ extern int optind;
+ int c;
++ struct nids_chksum_ctl chksum_ctl;
+
+ while ((c = getopt(argc, argv, "i:p:nvh?V")) != -1) {
+ switch (c) {
+@@ -260,6 +261,12 @@
+ }
+ }
+
++ chksum_ctl.netaddr = 0;
++ chksum_ctl.mask = 0;
++ chksum_ctl.action = NIDS_DONT_CHKSUM;
++
++ nids_register_chksum_ctl(&chksum_ctl, 1);
++
+ nids_run();
+
+ /* NOTREACHED */
Added: trunk/rpms/dsniff/dsniff-2.4-checksum_libnids.patch
===================================================================
--- trunk/rpms/dsniff/dsniff-2.4-checksum_libnids.patch (rev 0)
+++ trunk/rpms/dsniff/dsniff-2.4-checksum_libnids.patch 2008-06-24 21:48:21 UTC (rev 6389)
@@ -0,0 +1,96 @@
+Patch by Gleb Paharenko <gpaharenko at gmail.com> for dsniff >= 2.4b1, which
+adds checksum for libnids. For further information, please have a look to
+Debian bug ID #420129.
+
+--- dsniff-2.4b1/dsniff.c 2007-08-11 01:37:33.000000000 -0300
++++ dsniff-2.4b1/dsniff.c.checksum 2007-08-11 01:38:55.000000000 -0300
+@@ -70,6 +70,80 @@
+ {
+ }
+
++
++static int get_all_ifaces(struct ifreq **, int *);
++static unsigned int get_addr_from_ifreq(struct ifreq *);
++
++int all_local_ipaddrs_chksum_disable()
++{
++ struct ifreq *ifaces;
++ int ifaces_count;
++ int i, ind = 0;
++ struct nids_chksum_ctl *ctlp;
++ unsigned int tmp;
++
++ if (!get_all_ifaces(&ifaces, &ifaces_count))
++ return -1;
++ ctlp =
++ (struct nids_chksum_ctl *) malloc(ifaces_count *
++ sizeof(struct
++ nids_chksum_ctl));
++ if (!ctlp)
++ return -1;
++ for (i = 0; i < ifaces_count; i++) {
++ tmp = get_addr_from_ifreq(ifaces + i);
++ if (tmp) {
++ ctlp[ind].netaddr = tmp;
++ ctlp[ind].mask = inet_addr("255.255.255.255");
++ ctlp[ind].action = NIDS_DONT_CHKSUM;
++ ind++;
++ }
++ }
++ free(ifaces);
++ nids_register_chksum_ctl(ctlp, ind);
++}
++
++/* helper functions for Example 2 */
++unsigned int get_addr_from_ifreq(struct ifreq *iface)
++{
++ if (iface->ifr_addr.sa_family == AF_INET)
++ return ((struct sockaddr_in *) &(iface->ifr_addr))->
++ sin_addr.s_addr;
++ return 0;
++}
++
++static int get_all_ifaces(struct ifreq **ifaces, int *count)
++{
++ int ifaces_size = 8 * sizeof(struct ifreq);
++ struct ifconf param;
++ int sock;
++ unsigned int i;
++
++ *ifaces = malloc(ifaces_size);
++ sock = socket(PF_INET, SOCK_DGRAM, IPPROTO_IP);
++ if (sock <= 0)
++ return 0;
++ for (;;) {
++ param.ifc_len = ifaces_size;
++ param.ifc_req = *ifaces;
++ if (ioctl(sock, SIOCGIFCONF, ¶m))
++ goto err;
++ if (param.ifc_len < ifaces_size)
++ break;
++ free(*ifaces);
++ ifaces_size *= 2;
++ ifaces = malloc(ifaces_size);
++ }
++ *count = param.ifc_len / sizeof(struct ifreq);
++ close(sock);
++ return 1;
++ err:
++ close(sock);
++ return 0;
++}
++
++
++
+ int
+ main(int argc, char *argv[])
+ {
+@@ -189,6 +263,8 @@
+ warnx("using %s", nids_params.filename);
+ }
+ }
++
++ all_local_ipaddrs_chksum_disable();
+
+ nids_run();
+
Added: trunk/rpms/dsniff/dsniff-2.4-fedora_dirs.patch
===================================================================
--- trunk/rpms/dsniff/dsniff-2.4-fedora_dirs.patch (rev 0)
+++ trunk/rpms/dsniff/dsniff-2.4-fedora_dirs.patch 2008-06-24 21:48:21 UTC (rev 6389)
@@ -0,0 +1,60 @@
+Patch by Steve Kemp <skx at debian.org> for dsniff >= 2.4b1, which changes
+various paths for the Fedora directory structure.
+
+--- dsniff-2.4b1/Makefile.in 2005-06-23 03:30:37.000000000 +0000
++++ dsniff-2.4b1/Makefile.in.fedora 2005-06-23 04:17:14.000000000 +0000
+@@ -11,7 +11,7 @@
+ install_prefix =
+ prefix = @prefix@
+ exec_prefix = @exec_prefix@
+-libdir = @libdir@
++libdir = @sysconfdir@/dsniff
+ sbindir = @sbindir@
+ mandir = @mandir@
+
+@@ -37,8 +37,7 @@
+ X11INC = @X_CFLAGS@
+ X11LIB = @X_LIBS@ @X_PRE_LIBS@ -lXmu -lX11 @X_EXTRA_LIBS@
+
+-INCS = -I. $(NIDSINC) $(PCAPINC) $(LNETINC) $(DBINC) $(SSLINC) $(X11INC) \
+- -I$(srcdir)/missing
++INCS = -I. $(X11INC) -I$(srcdir)/missing
+ LIBS = @LIBS@ -L$(srcdir) -lmissing
+
+ INSTALL = @INSTALL@
+--- dsniff-2.4b1/dnsspoof.8 2005-06-23 03:30:37.000000000 +0000
++++ dsniff-2.4b1/dnsspoof.8.fedora 2005-06-23 04:17:37.000000000 +0000
+@@ -31,7 +31,7 @@
+ address queries on the LAN with an answer of the local machine's IP
+ address.
+ .SH FILES
+-.IP \fI/usr/local/lib/dnsspoof.hosts\fR
++.IP \fI/etc/dsniff/dnsspoof.hosts\fR
+ Sample hosts file.
+ .SH "SEE ALSO"
+ dsniff(8), hosts(5)
+--- dsniff-2.4b1/dsniff.8 2005-06-23 04:17:06.000000000 +0000
++++ dsniff-2.4b1/dsniff.8.fedora 2005-06-23 04:18:21.000000000 +0000
+@@ -68,9 +68,9 @@
+ On a hangup signal \fBdsniff\fR will dump its current trigger table to
+ \fIdsniff.services\fR.
+ .SH FILES
+-.IP \fI/usr/local/lib/dsniff.services\fR
++.IP \fI/etc/dsniff/dsniff.services\fR
+ Default trigger table
+-.IP \fI/usr/local/lib/dsniff.magic\fR
++.IP \fI/etc/dsniff/dsniff.magic\fR
+ Network protocol magic
+ .SH "SEE ALSO"
+ arpspoof(8), libnids(3), services(5), magic(5)
+--- dsniff-2.4b1/pathnames.h 2005-06-23 03:30:37.000000000 +0000
++++ dsniff-2.4b1/pathnames.h.fedora 2005-06-23 04:17:25.000000000 +0000
+@@ -12,7 +12,7 @@
+ #define PATHNAMES_H
+
+ #ifndef DSNIFF_LIBDIR
+-#define DSNIFF_LIBDIR "/usr/local/lib/"
++#define DSNIFF_LIBDIR "/etc/dsniff/"
+ #endif
+
+ #define DSNIFF_SERVICES "dsniff.services"
Added: trunk/rpms/dsniff/dsniff-2.4-glib2.patch
===================================================================
--- trunk/rpms/dsniff/dsniff-2.4-glib2.patch (rev 0)
+++ trunk/rpms/dsniff/dsniff-2.4-glib2.patch 2008-06-24 21:48:21 UTC (rev 6389)
@@ -0,0 +1,14 @@
+Patch by Robert Scheck <robert at fedoraproject.org> for dsniff >= 2.4b1, that
+adds some missing linkages to glib2.
+
+--- dsniff-2.4b1/Makefile.in 2007-11-24 13:56:47.000000000 +0100
++++ dsniff-2.4b1/Makefile.in.glib2 2007-11-24 15:40:55.000000000 +0100
+@@ -26,7 +26,7 @@
+ LNETLIB = @LNETLIB@
+
+ NIDSINC = @NIDSINC@
+-NIDSLIB = @NIDSLIB@
++NIDSLIB = @NIDSLIB@ -lglib-2.0 -lgthread-2.0 -lpthread
+
+ DBINC = @DBINC@
+ DBLIB = @DBLIB@
Added: trunk/rpms/dsniff/dsniff-2.4-libnet_11.patch
===================================================================
--- trunk/rpms/dsniff/dsniff-2.4-libnet_11.patch (rev 0)
+++ trunk/rpms/dsniff/dsniff-2.4-libnet_11.patch 2008-06-24 21:48:21 UTC (rev 6389)
@@ -0,0 +1,904 @@
+Patch for dsniff >= 2.4b1, which adds support for libnet >= 1.1 having a
+completely rewritten API.
+
+--- dsniff-2.4b1/arpspoof.c 2006-06-09 13:35:29.000000000 +0300
++++ dsniff-2.4b1/arpspoof.c.libnet_11 2006-06-09 13:35:29.000000000 +0300
+@@ -27,7 +27,7 @@
+
+ extern char *ether_ntoa(struct ether_addr *);
+
+-static struct libnet_link_int *llif;
++static libnet_t *l;
+ static struct ether_addr spoof_mac, target_mac;
+ static in_addr_t spoof_ip, target_ip;
+ static char *intf;
+@@ -41,47 +41,49 @@
+ }
+
+ static int
+-arp_send(struct libnet_link_int *llif, char *dev,
+- int op, u_char *sha, in_addr_t spa, u_char *tha, in_addr_t tpa)
++arp_send(libnet_t *l, int op, u_int8_t *sha,
++ in_addr_t spa, u_int8_t *tha, in_addr_t tpa)
+ {
+- char ebuf[128];
+- u_char pkt[60];
+-
++ int retval;
++
+ if (sha == NULL &&
+- (sha = (u_char *)libnet_get_hwaddr(llif, dev, ebuf)) == NULL) {
++ (sha = (u_int8_t *)libnet_get_hwaddr(l)) == NULL) {
+ return (-1);
+ }
+ if (spa == 0) {
+- if ((spa = libnet_get_ipaddr(llif, dev, ebuf)) == 0)
++ if ((spa = libnet_get_ipaddr4(l)) == -1)
+ return (-1);
+- spa = htonl(spa); /* XXX */
+ }
+ if (tha == NULL)
+ tha = "\xff\xff\xff\xff\xff\xff";
+
+- libnet_build_ethernet(tha, sha, ETHERTYPE_ARP, NULL, 0, pkt);
++ libnet_autobuild_arp(op, sha, (u_int8_t *)&spa,
++ tha, (u_int8_t *)&tpa, l);
++ libnet_build_ethernet(tha, sha, ETHERTYPE_ARP, NULL, 0, l, 0);
+
+- libnet_build_arp(ARPHRD_ETHER, ETHERTYPE_IP, ETHER_ADDR_LEN, 4,
+- op, sha, (u_char *)&spa, tha, (u_char *)&tpa,
+- NULL, 0, pkt + ETH_H);
+-
+ fprintf(stderr, "%s ",
+ ether_ntoa((struct ether_addr *)sha));
+
+ if (op == ARPOP_REQUEST) {
+ fprintf(stderr, "%s 0806 42: arp who-has %s tell %s\n",
+ ether_ntoa((struct ether_addr *)tha),
+- libnet_host_lookup(tpa, 0),
+- libnet_host_lookup(spa, 0));
++ libnet_addr2name4(tpa, LIBNET_DONT_RESOLVE),
++ libnet_addr2name4(spa, LIBNET_DONT_RESOLVE));
+ }
+ else {
+ fprintf(stderr, "%s 0806 42: arp reply %s is-at ",
+ ether_ntoa((struct ether_addr *)tha),
+- libnet_host_lookup(spa, 0));
++ libnet_addr2name4(spa, LIBNET_DONT_RESOLVE));
+ fprintf(stderr, "%s\n",
+ ether_ntoa((struct ether_addr *)sha));
+ }
+- return (libnet_write_link_layer(llif, dev, pkt, sizeof(pkt)) == sizeof(pkt));
++ retval = libnet_write(l);
++ if (retval)
++ fprintf(stderr, "%s", libnet_geterror(l));
++
++ libnet_clear_packet(l);
++
++ return retval;
+ }
+
+ #ifdef __linux__
+@@ -119,7 +121,7 @@
+ /* XXX - force the kernel to arp. feh. */
+ arp_force(ip);
+ #else
+- arp_send(llif, intf, ARPOP_REQUEST, NULL, 0, NULL, ip);
++ arp_send(l, ARPOP_REQUEST, NULL, 0, NULL, ip);
+ #endif
+ sleep(1);
+ }
+@@ -136,9 +138,9 @@
+ if (arp_find(spoof_ip, &spoof_mac)) {
+ for (i = 0; i < 3; i++) {
+ /* XXX - on BSD, requires ETHERSPOOF kernel. */
+- arp_send(llif, intf, ARPOP_REPLY,
+- (u_char *)&spoof_mac, spoof_ip,
+- (target_ip ? (u_char *)&target_mac : NULL),
++ arp_send(l, ARPOP_REPLY,
++ (u_int8_t *)&spoof_mac, spoof_ip,
++ (target_ip ? (u_int8_t *)&target_mac : NULL),
+ target_ip);
+ sleep(1);
+ }
+@@ -151,7 +153,8 @@
+ {
+ extern char *optarg;
+ extern int optind;
+- char ebuf[PCAP_ERRBUF_SIZE];
++ char pcap_ebuf[PCAP_ERRBUF_SIZE];
++ char libnet_ebuf[LIBNET_ERRBUF_SIZE];
+ int c;
+
+ intf = NULL;
+@@ -163,7 +166,7 @@
+ intf = optarg;
+ break;
+ case 't':
+- if ((target_ip = libnet_name_resolve(optarg, 1)) == -1)
++ if ((target_ip = libnet_name2addr4(l, optarg, LIBNET_RESOLVE)) == -1)
+ usage();
+ break;
+ default:
+@@ -176,26 +179,26 @@
+ if (argc != 1)
+ usage();
+
+- if ((spoof_ip = libnet_name_resolve(argv[0], 1)) == -1)
++ if ((spoof_ip = libnet_name2addr4(l, argv[0], LIBNET_RESOLVE)) == -1)
+ usage();
+
+- if (intf == NULL && (intf = pcap_lookupdev(ebuf)) == NULL)
+- errx(1, "%s", ebuf);
++ if (intf == NULL && (intf = pcap_lookupdev(pcap_ebuf)) == NULL)
++ errx(1, "%s", pcap_ebuf);
+
+- if ((llif = libnet_open_link_interface(intf, ebuf)) == 0)
+- errx(1, "%s", ebuf);
++ if ((l = libnet_init(LIBNET_LINK, intf, libnet_ebuf)) == NULL)
++ errx(1, "%s", libnet_ebuf);
+
+ if (target_ip != 0 && !arp_find(target_ip, &target_mac))
+ errx(1, "couldn't arp for host %s",
+- libnet_host_lookup(target_ip, 0));
++ libnet_addr2name4(target_ip, LIBNET_DONT_RESOLVE));
+
+ signal(SIGHUP, cleanup);
+ signal(SIGINT, cleanup);
+ signal(SIGTERM, cleanup);
+
+ for (;;) {
+- arp_send(llif, intf, ARPOP_REPLY, NULL, spoof_ip,
+- (target_ip ? (u_char *)&target_mac : NULL),
++ arp_send(l, ARPOP_REPLY, NULL, spoof_ip,
++ (target_ip ? (u_int8_t *)&target_mac : NULL),
+ target_ip);
+ sleep(2);
+ }
+--- dsniff-2.4b1/dnsspoof.c 2001-03-15 10:33:03.000000000 +0200
++++ dsniff-2.4b1/dnsspoof.c.libnet_11 2006-06-09 13:35:29.000000000 +0300
+@@ -38,7 +38,7 @@
+
+ pcap_t *pcap_pd = NULL;
+ int pcap_off = -1;
+-int lnet_sock = -1;
++libnet_t *l;
+ u_long lnet_ip = -1;
+
+ static void
+@@ -90,19 +90,18 @@
+ dns_init(char *dev, char *filename)
+ {
+ FILE *f;
+- struct libnet_link_int *llif;
++ libnet_t *l;
++ char libnet_ebuf[LIBNET_ERRBUF_SIZE];
+ struct dnsent *de;
+ char *ip, *name, buf[1024];
+
+- if ((llif = libnet_open_link_interface(dev, buf)) == NULL)
+- errx(1, "%s", buf);
++ if ((l = libnet_init(LIBNET_LINK, dev, libnet_ebuf)) == NULL)
++ errx(1, "%s", libnet_ebuf);
+
+- if ((lnet_ip = libnet_get_ipaddr(llif, dev, buf)) == -1)
+- errx(1, "%s", buf);
++ if ((lnet_ip = libnet_get_ipaddr4(l)) == -1)
++ errx(1, "%s", libnet_geterror(l));
+
+- lnet_ip = htonl(lnet_ip);
+-
+- libnet_close_link_interface(llif);
++ libnet_destroy(l);
+
+ SLIST_INIT(&dns_entries);
+
+@@ -180,7 +179,7 @@
+ static void
+ dns_spoof(u_char *u, const struct pcap_pkthdr *pkthdr, const u_char *pkt)
+ {
+- struct libnet_ip_hdr *ip;
++ struct libnet_ipv4_hdr *ip;
+ struct libnet_udp_hdr *udp;
+ HEADER *dns;
+ char name[MAXHOSTNAMELEN];
+@@ -189,7 +188,7 @@
+ in_addr_t dst;
+ u_short type, class;
+
+- ip = (struct libnet_ip_hdr *)(pkt + pcap_off);
++ ip = (struct libnet_ipv4_hdr *)(pkt + pcap_off);
+ udp = (struct libnet_udp_hdr *)(pkt + pcap_off + (ip->ip_hl * 4));
+ dns = (HEADER *)(udp + 1);
+ p = (u_char *)(dns + 1);
+@@ -212,7 +211,7 @@
+ if (class != C_IN)
+ return;
+
+- p = buf + IP_H + UDP_H + dnslen;
++ p = buf + dnslen;
+
+ if (type == T_A) {
+ if ((dst = dns_lookup_a(name)) == -1)
+@@ -234,38 +233,38 @@
+ anslen += 12;
+ }
+ else return;
+-
+- libnet_build_ip(UDP_H + dnslen + anslen, 0, libnet_get_prand(PRu16),
+- 0, 64, IPPROTO_UDP, ip->ip_dst.s_addr,
+- ip->ip_src.s_addr, NULL, 0, buf);
+-
+- libnet_build_udp(ntohs(udp->uh_dport), ntohs(udp->uh_sport),
+- NULL, dnslen + anslen, buf + IP_H);
+
+- memcpy(buf + IP_H + UDP_H, (u_char *)dns, dnslen);
++ memcpy(buf, (u_char *)dns, dnslen);
+
+- dns = (HEADER *)(buf + IP_H + UDP_H);
++ dns = (HEADER *)buf;
+ dns->qr = dns->ra = 1;
+ if (type == T_PTR) dns->aa = 1;
+ dns->ancount = htons(1);
+
+ dnslen += anslen;
++
++ libnet_clear_packet(l);
++ libnet_build_udp(ntohs(udp->uh_dport), ntohs(udp->uh_sport),
++ LIBNET_UDP_H + dnslen, 0,
++ (u_int8_t *)buf, dnslen, l, 0);
++
++ libnet_build_ipv4(LIBNET_IPV4_H + LIBNET_UDP_H + dnslen, 0,
++ libnet_get_prand(LIBNET_PRu16), 0, 64, IPPROTO_UDP, 0,
++ ip->ip_dst.s_addr, ip->ip_src.s_addr, NULL, 0, l, 0);
+
+- libnet_do_checksum(buf, IPPROTO_UDP, UDP_H + dnslen);
+-
+- if (libnet_write_ip(lnet_sock, buf, IP_H + UDP_H + dnslen) < 0)
++ if (libnet_write(l) < 0)
+ warn("write");
+
+ fprintf(stderr, "%s.%d > %s.%d: %d+ %s? %s\n",
+- libnet_host_lookup(ip->ip_src.s_addr, 0), ntohs(udp->uh_sport),
+- libnet_host_lookup(ip->ip_dst.s_addr, 0), ntohs(udp->uh_dport),
++ libnet_addr2name4(ip->ip_src.s_addr, 0), ntohs(udp->uh_sport),
++ libnet_addr2name4(ip->ip_dst.s_addr, 0), ntohs(udp->uh_dport),
+ ntohs(dns->id), type == T_A ? "A" : "PTR", name);
+ }
+
+ static void
+ cleanup(int sig)
+ {
+- libnet_close_raw_sock(lnet_sock);
++ libnet_destroy(l);
+ pcap_close(pcap_pd);
+ exit(0);
+ }
+@@ -276,6 +275,7 @@
+ extern char *optarg;
+ extern int optind;
+ char *p, *dev, *hosts, buf[1024];
++ char ebuf[LIBNET_ERRBUF_SIZE];
+ int i;
+
+ dev = hosts = NULL;
+@@ -306,7 +306,7 @@
+ strlcpy(buf, p, sizeof(buf));
+ }
+ else snprintf(buf, sizeof(buf), "udp dst port 53 and not src %s",
+- libnet_host_lookup(lnet_ip, 0));
++ libnet_addr2name4(lnet_ip, LIBNET_DONT_RESOLVE));
+
+ if ((pcap_pd = pcap_init(dev, buf, 128)) == NULL)
+ errx(1, "couldn't initialize sniffing");
+@@ -314,10 +314,10 @@
+ if ((pcap_off = pcap_dloff(pcap_pd)) < 0)
+ errx(1, "couldn't determine link layer offset");
+
+- if ((lnet_sock = libnet_open_raw_sock(IPPROTO_RAW)) == -1)
++ if ((l = libnet_init(LIBNET_RAW4, dev, ebuf)) == NULL)
+ errx(1, "couldn't initialize sending");
+
+- libnet_seed_prand();
++ libnet_seed_prand(l);
+
+ signal(SIGHUP, cleanup);
+ signal(SIGINT, cleanup);
+--- dsniff-2.4b1/filesnarf.c 2006-06-09 13:35:29.000000000 +0300
++++ dsniff-2.4b1/filesnarf.c.libnet_11 2006-06-09 13:35:29.000000000 +0300
+@@ -134,8 +134,8 @@
+ int fd;
+
+ warnx("%s.%d > %s.%d: %s (%d@%d)",
+- libnet_host_lookup(addr->daddr, 0), addr->dest,
+- libnet_host_lookup(addr->saddr, 0), addr->source,
++ libnet_addr2name4(addr->daddr, LIBNET_DONT_RESOLVE), addr->dest,
++ libnet_addr2name4(addr->saddr, LIBNET_DONT_RESOLVE), addr->source,
+ ma->filename, len, ma->offset);
+
+ if ((fd = open(ma->filename, O_WRONLY|O_CREAT, 0644)) >= 0) {
+@@ -353,7 +353,7 @@
+ }
+
+ static void
+-decode_udp_nfs(struct libnet_ip_hdr *ip)
++decode_udp_nfs(struct libnet_ipv4_hdr *ip)
+ {
+ static struct tuple4 addr;
+ struct libnet_udp_hdr *udp;
+--- dsniff-2.4b1/macof.c 2001-03-15 10:33:04.000000000 +0200
++++ dsniff-2.4b1/macof.c.libnet_11 2006-06-09 13:35:29.000000000 +0300
+@@ -48,8 +48,8 @@
+ static void
+ gen_mac(u_char *mac)
+ {
+- *((in_addr_t *)mac) = libnet_get_prand(PRu32);
+- *((u_short *)(mac + 4)) = libnet_get_prand(PRu16);
++ *((in_addr_t *)mac) = libnet_get_prand(LIBNET_PRu32);
++ *((u_short *)(mac + 4)) = libnet_get_prand(LIBNET_PRu16);
+ }
+
+ int
+@@ -59,22 +59,23 @@
+ extern int optind;
+ int c, i;
+ struct libnet_link_int *llif;
+- char ebuf[PCAP_ERRBUF_SIZE];
++ char pcap_ebuf[PCAP_ERRBUF_SIZE];
++ char libnet_ebuf[LIBNET_ERRBUF_SIZE];
+ u_char sha[ETHER_ADDR_LEN], tha[ETHER_ADDR_LEN];
+ in_addr_t src, dst;
+ u_short sport, dport;
+ u_int32_t seq;
+- u_char pkt[ETH_H + IP_H + TCP_H];
++ libnet_t *l;
+
+ while ((c = getopt(argc, argv, "vs:d:e:x:y:i:n:h?V")) != -1) {
+ switch (c) {
+ case 'v':
+ break;
+ case 's':
+- Src = libnet_name_resolve(optarg, 0);
++ Src = libnet_name2addr4(l, optarg, 0);
+ break;
+ case 'd':
+- Dst = libnet_name_resolve(optarg, 0);
++ Dst = libnet_name2addr4(l, optarg, 0);
+ break;
+ case 'e':
+ Tha = (u_char *)ether_aton(optarg);
+@@ -101,13 +102,13 @@
+ if (argc != 0)
+ usage();
+
+- if (!Intf && (Intf = pcap_lookupdev(ebuf)) == NULL)
+- errx(1, "%s", ebuf);
++ if (!Intf && (Intf = pcap_lookupdev(pcap_ebuf)) == NULL)
++ errx(1, "%s", pcap_ebuf);
+
+- if ((llif = libnet_open_link_interface(Intf, ebuf)) == 0)
+- errx(1, "%s", ebuf);
++ if ((l = libnet_init(LIBNET_LINK, Intf, libnet_ebuf)) == NULL)
++ errx(1, "%s", libnet_ebuf);
+
+- libnet_seed_prand();
++ libnet_seed_prand(l);
+
+ for (i = 0; i != Repeat; i++) {
+
+@@ -117,39 +118,39 @@
+ else memcpy(tha, Tha, sizeof(tha));
+
+ if (Src != 0) src = Src;
+- else src = libnet_get_prand(PRu32);
++ else src = libnet_get_prand(LIBNET_PRu32);
+
+ if (Dst != 0) dst = Dst;
+- else dst = libnet_get_prand(PRu32);
++ else dst = libnet_get_prand(LIBNET_PRu32);
+
+ if (Sport != 0) sport = Sport;
+- else sport = libnet_get_prand(PRu16);
++ else sport = libnet_get_prand(LIBNET_PRu16);
+
+ if (Dport != 0) dport = Dport;
+- else dport = libnet_get_prand(PRu16);
++ else dport = libnet_get_prand(LIBNET_PRu16);
+
+- seq = libnet_get_prand(PRu32);
+-
+- libnet_build_ethernet(tha, sha, ETHERTYPE_IP, NULL, 0, pkt);
+-
+- libnet_build_ip(TCP_H, 0, libnet_get_prand(PRu16), 0, 64,
+- IPPROTO_TCP, src, dst, NULL, 0, pkt + ETH_H);
++ seq = libnet_get_prand(LIBNET_PRu32);
+
+ libnet_build_tcp(sport, dport, seq, 0, TH_SYN, 512,
+- 0, NULL, 0, pkt + ETH_H + IP_H);
++ 0, 0, LIBNET_TCP_H, NULL, 0, l, 0);
+
+- libnet_do_checksum(pkt + ETH_H, IPPROTO_IP, IP_H);
+- libnet_do_checksum(pkt + ETH_H, IPPROTO_TCP, TCP_H);
++ libnet_build_ipv4(LIBNET_TCP_H, 0,
++ libnet_get_prand(LIBNET_PRu16), 0, 64,
++ IPPROTO_TCP, 0, src, dst, NULL, 0, l, 0);
+
+- if (libnet_write_link_layer(llif, Intf, pkt, sizeof(pkt)) < 0)
++ libnet_build_ethernet(tha, sha, ETHERTYPE_IP, NULL, 0, l, 0);
++
++ if (libnet_write(l) < 0)
+ errx(1, "write");
+
++ libnet_clear_packet(l);
++
+ fprintf(stderr, "%s ",
+ ether_ntoa((struct ether_addr *)sha));
+ fprintf(stderr, "%s %s.%d > %s.%d: S %u:%u(0) win 512\n",
+ ether_ntoa((struct ether_addr *)tha),
+- libnet_host_lookup(Src, 0), sport,
+- libnet_host_lookup(Dst, 0), dport, seq, seq);
++ libnet_addr2name4(Src, 0), sport,
++ libnet_addr2name4(Dst, 0), dport, seq, seq);
+ }
+ exit(0);
+ }
+--- dsniff-2.4b1/record.c 2001-03-15 10:33:04.000000000 +0200
++++ dsniff-2.4b1/record.c.libnet_11 2006-06-09 13:35:29.000000000 +0300
+@@ -65,8 +65,8 @@
+ tm = localtime(&rec->time);
+ strftime(tstr, sizeof(tstr), "%x %X", tm);
+
+- srcp = libnet_host_lookup(rec->src, Opt_dns);
+- dstp = libnet_host_lookup(rec->dst, Opt_dns);
++ srcp = libnet_addr2name4(rec->src, Opt_dns);
++ dstp = libnet_addr2name4(rec->dst, Opt_dns);
+
+ if ((pr = getprotobynumber(rec->proto)) == NULL)
+ protop = "unknown";
+--- dsniff-2.4b1/sshmitm.c 2001-03-15 10:33:04.000000000 +0200
++++ dsniff-2.4b1/sshmitm.c.libnet_11 2006-06-09 13:35:29.000000000 +0300
+@@ -389,7 +389,7 @@
+ if (argc < 1)
+ usage();
+
+- if ((ip = libnet_name_resolve(argv[0], 1)) == -1)
++ if ((ip = libnet_name2addr4(NULL, argv[0], LIBNET_RESOLVE)) == -1)
+ usage();
+
+ if (argc == 2 && (rport = atoi(argv[1])) == 0)
+--- dsniff-2.4b1/tcpkill.c 2001-03-17 10:10:43.000000000 +0200
++++ dsniff-2.4b1/tcpkill.c.libnet_11 2006-06-09 13:35:29.000000000 +0300
+@@ -39,17 +39,18 @@
+ static void
+ tcp_kill_cb(u_char *user, const struct pcap_pkthdr *pcap, const u_char *pkt)
+ {
+- struct libnet_ip_hdr *ip;
++ struct libnet_ipv4_hdr *ip;
+ struct libnet_tcp_hdr *tcp;
+- u_char ctext[64], buf[IP_H + TCP_H];
++ u_char ctext[64];
+ u_int32_t seq, win;
+- int i, *sock, len;
++ int i, len;
++ libnet_t *l;
+
+- sock = (int *)user;
++ l = (libnet_t *)user;
+ pkt += pcap_off;
+ len = pcap->caplen - pcap_off;
+
+- ip = (struct libnet_ip_hdr *)pkt;
++ ip = (struct libnet_ipv4_hdr *)pkt;
+ if (ip->ip_p != IPPROTO_TCP)
+ return;
+
+@@ -57,34 +58,31 @@
+ if (tcp->th_flags & (TH_SYN|TH_FIN|TH_RST))
+ return;
+
+- libnet_build_ip(TCP_H, 0, 0, 0, 64, IPPROTO_TCP,
+- ip->ip_dst.s_addr, ip->ip_src.s_addr,
+- NULL, 0, buf);
+-
+- libnet_build_tcp(ntohs(tcp->th_dport), ntohs(tcp->th_sport),
+- 0, 0, TH_RST, 0, 0, NULL, 0, buf + IP_H);
+-
+ seq = ntohl(tcp->th_ack);
+ win = ntohs(tcp->th_win);
+
+ snprintf(ctext, sizeof(ctext), "%s:%d > %s:%d:",
+- libnet_host_lookup(ip->ip_src.s_addr, 0),
++ libnet_addr2name4(ip->ip_src.s_addr, LIBNET_DONT_RESOLVE),
+ ntohs(tcp->th_sport),
+- libnet_host_lookup(ip->ip_dst.s_addr, 0),
++ libnet_addr2name4(ip->ip_dst.s_addr, LIBNET_DONT_RESOLVE),
+ ntohs(tcp->th_dport));
+
+- ip = (struct libnet_ip_hdr *)buf;
+- tcp = (struct libnet_tcp_hdr *)(ip + 1);
+-
+ for (i = 0; i < Opt_severity; i++) {
+- ip->ip_id = libnet_get_prand(PRu16);
+ seq += (i * win);
+- tcp->th_seq = htonl(seq);
+
+- libnet_do_checksum(buf, IPPROTO_TCP, TCP_H);
++ libnet_clear_packet(l);
+
+- if (libnet_write_ip(*sock, buf, sizeof(buf)) < 0)
+- warn("write_ip");
++ libnet_build_tcp(ntohs(tcp->th_dport), ntohs(tcp->th_sport),
++ seq, 0, TH_RST, 0, 0, 0, LIBNET_TCP_H,
++ NULL, 0, l, 0);
++
++ libnet_build_ipv4(LIBNET_IPV4_H + LIBNET_TCP_H, 0,
++ libnet_get_prand(LIBNET_PRu16), 0, 64,
++ IPPROTO_TCP, 0, ip->ip_dst.s_addr,
++ ip->ip_src.s_addr, NULL, 0, l, 0);
++
++ if (libnet_write(l) < 0)
++ warn("write");
+
+ fprintf(stderr, "%s R %lu:%lu(0) win 0\n", ctext, seq, seq);
+ }
+@@ -95,8 +93,10 @@
+ {
+ extern char *optarg;
+ extern int optind;
+- int c, sock;
++ int c;
+ char *p, *intf, *filter, ebuf[PCAP_ERRBUF_SIZE];
++ char libnet_ebuf[LIBNET_ERRBUF_SIZE];
++ libnet_t *l;
+ pcap_t *pd;
+
+ intf = NULL;
+@@ -136,14 +136,14 @@
+ if ((pcap_off = pcap_dloff(pd)) < 0)
+ errx(1, "couldn't determine link layer offset");
+
+- if ((sock = libnet_open_raw_sock(IPPROTO_RAW)) == -1)
++ if ((l = libnet_init(LIBNET_RAW4, intf, libnet_ebuf)) == NULL)
+ errx(1, "couldn't initialize sending");
+
+- libnet_seed_prand();
++ libnet_seed_prand(l);
+
+ warnx("listening on %s [%s]", intf, filter);
+
+- pcap_loop(pd, -1, tcp_kill_cb, (u_char *)&sock);
++ pcap_loop(pd, -1, tcp_kill_cb, (u_char *)l);
+
+ /* NOTREACHED */
+
+--- dsniff-2.4b1/tcpnice.c 2001-03-17 09:41:51.000000000 +0200
++++ dsniff-2.4b1/tcpnice.c.libnet_11 2006-06-09 13:35:29.000000000 +0300
+@@ -41,107 +41,106 @@
+ }
+
+ static void
+-send_tcp_window_advertisement(int sock, struct libnet_ip_hdr *ip,
++send_tcp_window_advertisement(libnet_t *l, struct libnet_ipv4_hdr *ip,
+ struct libnet_tcp_hdr *tcp)
+ {
+ int len;
+
+ ip->ip_hl = 5;
+- ip->ip_len = htons(IP_H + TCP_H);
+- ip->ip_id = libnet_get_prand(PRu16);
+- memcpy(buf, (u_char *)ip, IP_H);
++ ip->ip_len = htons(LIBNET_IPV4_H + LIBNET_TCP_H);
++ ip->ip_id = libnet_get_prand(LIBNET_PRu16);
++ memcpy(buf, (u_char *)ip, LIBNET_IPV4_H);
+
+ tcp->th_off = 5;
+ tcp->th_win = htons(MIN_WIN);
+- memcpy(buf + IP_H, (u_char *)tcp, TCP_H);
++ memcpy(buf + LIBNET_IPV4_H, (u_char *)tcp, LIBNET_TCP_H);
+
+- libnet_do_checksum(buf, IPPROTO_TCP, TCP_H);
++ libnet_do_checksum(l, buf, IPPROTO_TCP, LIBNET_TCP_H);
+
+- len = IP_H + TCP_H;
++ len = LIBNET_IPV4_H + LIBNET_TCP_H;
+
+- if (libnet_write_ip(sock, buf, len) != len)
++ if (libnet_write_raw_ipv4(l, buf, len) != len)
+ warn("write");
+
+ fprintf(stderr, "%s:%d > %s:%d: . ack %lu win %d\n",
+- libnet_host_lookup(ip->ip_src.s_addr, 0), ntohs(tcp->th_sport),
+- libnet_host_lookup(ip->ip_dst.s_addr, 0), ntohs(tcp->th_dport),
++ libnet_addr2name4(ip->ip_src.s_addr, 0), ntohs(tcp->th_sport),
++ libnet_addr2name4(ip->ip_dst.s_addr, 0), ntohs(tcp->th_dport),
+ ntohl(tcp->th_ack), 1);
+ }
+
+ static void
+-send_icmp_source_quench(int sock, struct libnet_ip_hdr *ip)
++send_icmp_source_quench(libnet_t *l, struct libnet_ipv4_hdr *ip)
+ {
+- struct libnet_icmp_hdr *icmp;
++ struct libnet_icmpv4_hdr *icmp;
+ int len;
+
+ len = (ip->ip_hl * 4) + 8;
+
+- libnet_build_ip(ICMP_ECHO_H + len, 0, libnet_get_prand(PRu16),
+- 0, 64, IPPROTO_ICMP, ip->ip_dst.s_addr,
+- ip->ip_src.s_addr, NULL, 0, buf);
+-
+- icmp = (struct libnet_icmp_hdr *)(buf + IP_H);
++ icmp = (struct libnet_icmpv4_hdr *)(buf + LIBNET_IPV4_H);
+ icmp->icmp_type = ICMP_SOURCEQUENCH;
+ icmp->icmp_code = 0;
+- memcpy((u_char *)icmp + ICMP_ECHO_H, (u_char *)ip, len);
++ memcpy((u_char *)icmp + LIBNET_ICMPV4_ECHO_H, (u_char *)ip, len);
+
+- libnet_do_checksum(buf, IPPROTO_ICMP, ICMP_ECHO_H + len);
++ len += LIBNET_ICMPV4_ECHO_H;
+
+- len += (IP_H + ICMP_ECHO_H);
++ libnet_build_ipv4(LIBNET_IPV4_H + len, 0,
++ libnet_get_prand(LIBNET_PRu16), 0, 64, IPPROTO_ICMP,
++ 0, ip->ip_dst.s_addr, ip->ip_src.s_addr,
++ (u_int8_t *) icmp, len, l, 0);
+
+- if (libnet_write_ip(sock, buf, len) != len)
++ if (libnet_write(l) != len)
+ warn("write");
+
+ fprintf(stderr, "%s > %s: icmp: source quench\n",
+- libnet_host_lookup(ip->ip_dst.s_addr, 0),
+- libnet_host_lookup(ip->ip_src.s_addr, 0));
++ libnet_addr2name4(ip->ip_dst.s_addr, 0),
++ libnet_addr2name4(ip->ip_src.s_addr, 0));
+ }
+
+ static void
+-send_icmp_frag_needed(int sock, struct libnet_ip_hdr *ip)
++send_icmp_frag_needed(libnet_t *l, struct libnet_ipv4_hdr *ip)
+ {
+- struct libnet_icmp_hdr *icmp;
++ struct libnet_icmpv4_hdr *icmp;
+ int len;
+
+ len = (ip->ip_hl * 4) + 8;
+
+- libnet_build_ip(ICMP_MASK_H + len, 4, libnet_get_prand(PRu16),
+- 0, 64, IPPROTO_ICMP, ip->ip_dst.s_addr,
+- ip->ip_src.s_addr, NULL, 0, buf);
+-
+- icmp = (struct libnet_icmp_hdr *)(buf + IP_H);
++ icmp = (struct libnet_icmpv4_hdr *)(buf + LIBNET_IPV4_H);
+ icmp->icmp_type = ICMP_UNREACH;
+ icmp->icmp_code = ICMP_UNREACH_NEEDFRAG;
+ icmp->hun.frag.pad = 0;
+ icmp->hun.frag.mtu = htons(MIN_MTU);
+- memcpy((u_char *)icmp + ICMP_MASK_H, (u_char *)ip, len);
++ memcpy((u_char *)icmp + LIBNET_ICMPV4_MASK_H, (u_char *)ip, len);
+
+- libnet_do_checksum(buf, IPPROTO_ICMP, ICMP_MASK_H + len);
+-
+- len += (IP_H + ICMP_MASK_H);
++ len += LIBNET_ICMPV4_MASK_H;
++
++ libnet_build_ipv4(LIBNET_IPV4_H + len, 4,
++ libnet_get_prand(LIBNET_PRu16), 0, 64, IPPROTO_ICMP,
++ 0, ip->ip_dst.s_addr, ip->ip_src.s_addr,
++ (u_int8_t *) icmp, len, l, 0);
+
+- if (libnet_write_ip(sock, buf, len) != len)
++ if (libnet_write(l) != len)
+ warn("write");
+
+ fprintf(stderr, "%s > %s: icmp: ",
+- libnet_host_lookup(ip->ip_dst.s_addr, 0),
+- libnet_host_lookup(ip->ip_src.s_addr, 0));
++ libnet_addr2name4(ip->ip_dst.s_addr, 0),
++ libnet_addr2name4(ip->ip_src.s_addr, 0));
+ fprintf(stderr, "%s unreachable - need to frag (mtu %d)\n",
+- libnet_host_lookup(ip->ip_src.s_addr, 0), MIN_MTU);
++ libnet_addr2name4(ip->ip_src.s_addr, 0), MIN_MTU);
+ }
+
+ static void
+ tcp_nice_cb(u_char *user, const struct pcap_pkthdr *pcap, const u_char *pkt)
+ {
+- struct libnet_ip_hdr *ip;
++ struct libnet_ipv4_hdr *ip;
+ struct libnet_tcp_hdr *tcp;
+- int *sock, len;
++ int len;
++ libnet_t *l;
+
+- sock = (int *)user;
++ l = (libnet_t *)user;
+ pkt += pcap_off;
+ len = pcap->caplen - pcap_off;
+
+- ip = (struct libnet_ip_hdr *)pkt;
++ ip = (struct libnet_ipv4_hdr *)pkt;
+ if (ip->ip_p != IPPROTO_TCP)
+ return;
+
+@@ -151,11 +150,11 @@
+
+ if (ntohs(ip->ip_len) > (ip->ip_hl << 2) + (tcp->th_off << 2)) {
+ if (Opt_icmp)
+- send_icmp_source_quench(*sock, ip);
++ send_icmp_source_quench(l, ip);
+ if (Opt_win)
+- send_tcp_window_advertisement(*sock, ip, tcp);
++ send_tcp_window_advertisement(l, ip, tcp);
+ if (Opt_pmtu)
+- send_icmp_frag_needed(*sock, ip);
++ send_icmp_frag_needed(l, ip);
+ }
+ }
+
+@@ -164,8 +163,10 @@
+ {
+ extern char *optarg;
+ extern int optind;
+- int c, sock;
++ int c;
+ char *intf, *filter, ebuf[PCAP_ERRBUF_SIZE];
++ char libnet_ebuf[LIBNET_ERRBUF_SIZE];
++ libnet_t *l;
+ pcap_t *pd;
+
+ intf = NULL;
+@@ -209,14 +210,14 @@
+ if ((pcap_off = pcap_dloff(pd)) < 0)
+ errx(1, "couldn't determine link layer offset");
+
+- if ((sock = libnet_open_raw_sock(IPPROTO_RAW)) == -1)
++ if ((l = libnet_init(LIBNET_RAW4, intf, libnet_ebuf)) == NULL)
+ errx(1, "couldn't initialize sending");
+
+- libnet_seed_prand();
++ libnet_seed_prand(l);
+
+ warnx("listening on %s [%s]", intf, filter);
+
+- pcap_loop(pd, -1, tcp_nice_cb, (u_char *)&sock);
++ pcap_loop(pd, -1, tcp_nice_cb, (u_char *)l);
+
+ /* NOTREACHED */
+
+--- dsniff-2.4b1/tcp_raw.c 2001-03-15 10:33:04.000000000 +0200
++++ dsniff-2.4b1/tcp_raw.c.libnet_11 2006-06-09 13:35:29.000000000 +0300
+@@ -119,7 +119,7 @@
+ }
+
+ struct iovec *
+-tcp_raw_input(struct libnet_ip_hdr *ip, struct libnet_tcp_hdr *tcp, int len)
++tcp_raw_input(struct libnet_ipv4_hdr *ip, struct libnet_tcp_hdr *tcp, int len)
+ {
+ struct tha tha;
+ struct tcp_conn *conn;
+@@ -131,7 +131,7 @@
+
+ /* Verify TCP checksum. */
+ cksum = tcp->th_sum;
+- libnet_do_checksum((u_char *) ip, IPPROTO_TCP, len);
++ libnet_do_checksum(NULL, (u_char *) ip, IPPROTO_TCP, len);
+
+ if (cksum != tcp->th_sum)
+ return (NULL);
+--- dsniff-2.4b1/tcp_raw.h 2001-03-15 10:33:06.000000000 +0200
++++ dsniff-2.4b1/tcp_raw.h.libnet_11 2006-06-09 13:35:29.000000000 +0300
+@@ -15,7 +15,7 @@
+ u_short sport, u_short dport,
+ u_char *buf, int len);
+
+-struct iovec *tcp_raw_input(struct libnet_ip_hdr *ip,
++struct iovec *tcp_raw_input(struct libnet_ipv4_hdr *ip,
+ struct libnet_tcp_hdr *tcp, int len);
+
+ void tcp_raw_timeout(int timeout, tcp_raw_callback_t callback);
+--- dsniff-2.4b1/trigger.c 2001-03-15 10:33:05.000000000 +0200
++++ dsniff-2.4b1/trigger.c.libnet_11 2006-06-09 13:35:29.000000000 +0300
+@@ -276,7 +276,7 @@
+ }
+
+ void
+-trigger_ip(struct libnet_ip_hdr *ip)
++trigger_ip(struct libnet_ipv4_hdr *ip)
+ {
+ struct trigger *t, tr;
+ u_char *buf;
+@@ -305,7 +305,7 @@
+
+ /* libnids needs a nids_register_udp()... */
+ void
+-trigger_udp(struct libnet_ip_hdr *ip)
++trigger_udp(struct libnet_ipv4_hdr *ip)
+ {
+ struct trigger *t, tr;
+ struct libnet_udp_hdr *udp;
+@@ -437,7 +437,7 @@
+ }
+
+ void
+-trigger_tcp_raw(struct libnet_ip_hdr *ip)
++trigger_tcp_raw(struct libnet_ipv4_hdr *ip)
+ {
+ struct trigger *t, tr;
+ struct libnet_tcp_hdr *tcp;
+--- dsniff-2.4b1/trigger.h 2001-03-15 10:33:06.000000000 +0200
++++ dsniff-2.4b1/trigger.h.libnet_11 2006-06-09 13:35:29.000000000 +0300
+@@ -24,10 +24,10 @@
+ int trigger_set_tcp(int port, char *name);
+ int trigger_set_rpc(int program, char *name);
+
+-void trigger_ip(struct libnet_ip_hdr *ip);
+-void trigger_udp(struct libnet_ip_hdr *ip);
++void trigger_ip(struct libnet_ipv4_hdr *ip);
++void trigger_udp(struct libnet_ipv4_hdr *ip);
+ void trigger_tcp(struct tcp_stream *ts, void **conn_save);
+-void trigger_tcp_raw(struct libnet_ip_hdr *ip);
++void trigger_tcp_raw(struct libnet_ipv4_hdr *ip);
+ void trigger_tcp_raw_timeout(int signal);
+ void trigger_rpc(int program, int proto, int port);
+
+--- dsniff-2.4b1/urlsnarf.c 2006-06-09 13:35:29.000000000 +0300
++++ dsniff-2.4b1/urlsnarf.c.libnet_11 2006-06-09 13:35:29.000000000 +0300
+@@ -145,14 +145,14 @@
+ if (user == NULL)
+ user = "-";
+ if (vhost == NULL)
+- vhost = libnet_host_lookup(addr->daddr, Opt_dns);
++ vhost = libnet_addr2name4(addr->daddr, Opt_dns);
+ if (referer == NULL)
+ referer = "-";
+ if (agent == NULL)
+ agent = "-";
+
+ printf("%s - %s [%s] \"%s http://%s%s\" - - \"%s\" \"%s\"\n",
+- libnet_host_lookup(addr->saddr, Opt_dns),
++ libnet_addr2name4(addr->saddr, Opt_dns),
+ user, timestamp(), req, vhost, uri, referer, agent);
+ }
+ fflush(stdout);
+--- dsniff-2.4b1/webmitm.c 2001-03-17 10:35:05.000000000 +0200
++++ dsniff-2.4b1/webmitm.c.libnet_11 2006-06-09 13:35:29.000000000 +0300
+@@ -242,7 +242,7 @@
+ word = buf_tok(&msg, "/", 1);
+ vhost = buf_strdup(word);
+ }
+- ssin.sin_addr.s_addr = libnet_name_resolve(vhost, 1);
++ ssin.sin_addr.s_addr = libnet_name2addr4(NULL, vhost, 1);
+ free(vhost);
+
+ if (ssin.sin_addr.s_addr == ntohl(INADDR_LOOPBACK) ||
+@@ -510,7 +510,7 @@
+ argv += optind;
+
+ if (argc == 1) {
+- if ((static_host = libnet_name_resolve(argv[0], 1)) == -1)
++ if ((static_host = libnet_name2addr4(NULL, argv[0], 1)) == -1)
+ usage();
+ }
+ else if (argc != 0) usage();
+--- dsniff-2.4b1/webspy.c 2006-06-09 13:35:29.000000000 +0300
++++ dsniff-2.4b1/webspy.c.libnet_11 2006-06-09 13:35:29.000000000 +0300
+@@ -126,7 +126,7 @@
+ if (auth == NULL)
+ auth = "";
+ if (vhost == NULL)
+- vhost = libnet_host_lookup(addr->daddr, 0);
++ vhost = libnet_addr2name4(addr->daddr, 0);
+
+ snprintf(cmd, sizeof(cmd), "openURL(http://%s%s%s%s)",
+ auth, *auth ? "@" : "", vhost, uri);
+@@ -205,7 +205,7 @@
+ cmdtab[0] = cmd;
+ cmdtab[1] = NULL;
+
+- if ((host = libnet_name_resolve(argv[0], 1)) == -1)
++ if ((host = libnet_name2addr4(NULL, argv[0], 1)) == -1)
+ errx(1, "unknown host");
+
+ if ((dpy = XOpenDisplay(NULL)) == NULL)
Added: trunk/rpms/dsniff/dsniff-2.4-mailsnarf_corrupt.patch
===================================================================
--- trunk/rpms/dsniff/dsniff-2.4-mailsnarf_corrupt.patch (rev 0)
+++ trunk/rpms/dsniff/dsniff-2.4-mailsnarf_corrupt.patch 2008-06-24 21:48:21 UTC (rev 6389)
@@ -0,0 +1,15 @@
+Patch by Steve Kemp <skx at debian.org> for dsniff >= 2.4b1, which fixes a
+bug in mailsnarf that caused not to parse every mail correctly. For further
+information, please have a look to Debian bug ID #149330.
+
+--- dsniff-2.4b1/mailsnarf.c 2005-06-23 03:30:37.000000000 +0000
++++ dsniff-2.4b1/mailsnarf.c.mailsnarf 2005-06-23 04:05:16.000000000 +0000
+@@ -178,7 +178,7 @@
+ if (smtp->state != SMTP_DATA) {
+ while ((i = buf_index(&buf, "\r\n", 2)) >= 0) {
+ line = buf_tok(&buf, NULL, i + 2);
+- line->base[line->end] = '\0';
++ line->base[line->end-1] = '\0';
+ p = buf_ptr(line);
+
+ if (strncasecmp(p, "RSET", 4) == 0) {
Added: trunk/rpms/dsniff/dsniff-2.4-multiple_intf.patch
===================================================================
--- trunk/rpms/dsniff/dsniff-2.4-multiple_intf.patch (rev 0)
+++ trunk/rpms/dsniff/dsniff-2.4-multiple_intf.patch 2008-06-24 21:48:21 UTC (rev 6389)
@@ -0,0 +1,54 @@
+Patch by Steve Kemp <skx at debian.org> for dsniff >= 2.4b1, which adds a fix
+to work with multiple interfaces. For further information, please have a
+look to Debian bug ID #242369.
+
+--- dsniff-2.4b1/arp.c 2005-06-23 03:30:37.000000000 +0000
++++ dsniff-2.4b1/arp.c.multiple_intf 2005-06-23 04:09:05.000000000 +0000
+@@ -39,7 +39,7 @@
+
+ #ifdef BSD
+ int
+-arp_cache_lookup(in_addr_t ip, struct ether_addr *ether)
++arp_cache_lookup(in_addr_t ip, struct ether_addr *ether, const char* linf)
+ {
+ int mib[6];
+ size_t len;
+@@ -91,7 +91,7 @@
+ #endif
+
+ int
+-arp_cache_lookup(in_addr_t ip, struct ether_addr *ether)
++arp_cache_lookup(in_addr_t ip, struct ether_addr *ether, const char* lif)
+ {
+ int sock;
+ struct arpreq ar;
+@@ -99,7 +99,7 @@
+
+ memset((char *)&ar, 0, sizeof(ar));
+ #ifdef __linux__
+- strncpy(ar.arp_dev, "eth0", sizeof(ar.arp_dev)); /* XXX - *sigh* */
++ strncpy(ar.arp_dev, lif, strlen(lif));
+ #endif
+ sin = (struct sockaddr_in *)&ar.arp_pa;
+ sin->sin_family = AF_INET;
+--- dsniff-2.4b1/arp.h 2005-06-23 03:30:37.000000000 +0000
++++ dsniff-2.4b1/arp.h.multiple_intf 2005-06-23 04:09:07.000000000 +0000
+@@ -11,6 +11,6 @@
+ #ifndef _ARP_H_
+ #define _ARP_H_
+
+-int arp_cache_lookup(in_addr_t ip, struct ether_addr *ether);
++int arp_cache_lookup(in_addr_t ip, struct ether_addr *ether, const char* linf);
+
+ #endif /* _ARP_H_ */
+--- dsniff-2.4b1/arpspoof.c 2005-06-23 03:30:37.000000000 +0000
++++ dsniff-2.4b1/arpspoof.c.mltpl_intf 2005-06-23 04:08:41.000000000 +0000
+@@ -113,7 +113,7 @@
+ int i = 0;
+
+ do {
+- if (arp_cache_lookup(ip, mac) == 0)
++ if (arp_cache_lookup(ip, mac, intf) == 0)
+ return (1);
+ #ifdef __linux__
+ /* XXX - force the kernel to arp. feh. */
Added: trunk/rpms/dsniff/dsniff-2.4-obsolete_time.patch
===================================================================
--- trunk/rpms/dsniff/dsniff-2.4-obsolete_time.patch (rev 0)
+++ trunk/rpms/dsniff/dsniff-2.4-obsolete_time.patch 2008-06-24 21:48:21 UTC (rev 6389)
@@ -0,0 +1,34 @@
+Patch by Luciano Bello <luciano at linux.org.ar> for dsniff >= 2.4b1, which
+changes according to /usr/include/time.h, CLK_TCK is the "obsolete POSIX.1-
+1988 name" for CLOCKS_PER_SEC. For further information, please have a look
+to Debian bug ID #420944.
+
+--- dsniff-2.4b1/sshow.c 2007-06-22 15:48:00.000000000 -0300
++++ dsniff-2.4b1/sshow.c.obsolete_time 2007-08-10 19:03:30.000000000 -0300
+@@ -222,7 +222,7 @@
+ if (debug)
+ printf("- %s -> %s: DATA (%s bytes, %.2f seconds)\n",
+ s_saddr(ts), s_daddr(ts), s_range(plain_range),
+- (float)delay / CLK_TCK);
++ (float)delay / CLOCKS_PER_SEC);
+ if (debug > 1)
+ print_data(&ts->server, cipher_size);
+
+@@ -270,7 +270,7 @@
+ if (debug)
+ printf("- %s <- %s: DATA (%s bytes, %.2f seconds)\n",
+ s_saddr(ts), s_daddr(ts), s_range(plain_range),
+- (float)delay / CLK_TCK);
++ (float)delay / CLOCKS_PER_SEC);
+ if (debug > 1)
+ print_data(&ts->client, cipher_size);
+
+@@ -299,7 +299,7 @@
+
+ if (session->state == 1 &&
+ #ifdef USE_TIMING
+- now - get_history(session, 2)->timestamp >= CLK_TCK &&
++ now - get_history(session, 2)->timestamp >= CLOCKS_PER_SEC &&
+ #endif
+ session->protocol == 1 &&
+ (session->history.directions & 7) == 5 &&
Added: trunk/rpms/dsniff/dsniff-2.4-openssl_098.patch
===================================================================
--- trunk/rpms/dsniff/dsniff-2.4-openssl_098.patch (rev 0)
+++ trunk/rpms/dsniff/dsniff-2.4-openssl_098.patch 2008-06-24 21:48:21 UTC (rev 6389)
@@ -0,0 +1,13 @@
+Patch by <kees at ubuntu.com> for dsniff >= 2.4b1, which includes a missing
+header file to make it building.
+
+--- dsniff-2.4b1/ssh.c 2006-10-12 13:21:57.000000000 -0700
++++ dsniff-2.4b1/ssh.c.openssl_098 2006-10-12 13:22:46.441893077 -0700
+@@ -16,6 +16,7 @@
+ #include <openssl/ssl.h>
+ #include <openssl/err.h>
+ #include <openssl/rand.h>
++#include <openssl/md5.h>
+
+ #include <err.h>
+ #include <errno.h>
Added: trunk/rpms/dsniff/dsniff-2.4-pcap_read_dump.patch
===================================================================
--- trunk/rpms/dsniff/dsniff-2.4-pcap_read_dump.patch (rev 0)
+++ trunk/rpms/dsniff/dsniff-2.4-pcap_read_dump.patch 2008-06-24 21:48:21 UTC (rev 6389)
@@ -0,0 +1,531 @@
+Patch by Joseph Battaglia <sephail at sephail.net> and Joshua Krage
+<jkrage at guisarme.us> for dsniff >= 2.4b1, which allows the reading of
+saved PCAP capture files. For further information, please have a look
+to Debian bug ID #153462 and #298604.
+
+--- dsniff-2.4b1/dsniff.8 2005-07-11 20:41:14.000000000 +0000
++++ dsniff-2.4b1/dsniff.8.pcap_dump 2005-07-11 20:41:18.000000000 +0000
+@@ -10,7 +10,7 @@
+ .nf
+ .fi
+ \fBdsniff\fR [\fB-c\fR] [\fB-d\fR] [\fB-m\fR] [\fB-n\fR] [\fB-i
+-\fIinterface\fR] [\fB-s \fIsnaplen\fR] [\fB-f \fIservices\fR]
++\fIinterface\fR | \fB-p \fIpcapfile\fR] [\fB-s \fIsnaplen\fR] [\fB-f \fIservices\fR]
+ [\fB-t \fItrigger[,...]\fR]]
+ [\fB-r\fR|\fB-w\fR \fIsavefile\fR] [\fIexpression\fR]
+ .SH DESCRIPTION
+@@ -45,6 +45,9 @@
+ Do not resolve IP addresses to hostnames.
+ .IP "\fB-i \fIinterface\fR"
+ Specify the interface to listen on.
++.IP "\fB-p \fIpcapfile\fR"
++Rather than processing the contents of packets observed upon the network
++process the given PCAP capture file.
+ .IP "\fB-s \fIsnaplen\fR"
+ Analyze at most the first \fIsnaplen\fR bytes of each TCP connection,
+ rather than the default of 1024.
+--- dsniff-2.4b1/dsniff.c 2005-07-11 20:41:14.000000000 +0000
++++ dsniff-2.4b1/dsniff.c.pcap_dump 2005-07-11 20:41:18.000000000 +0000
+@@ -46,8 +46,9 @@
+ usage(void)
+ {
+ fprintf(stderr, "Version: " VERSION "\n"
+- "Usage: dsniff [-cdmn] [-i interface] [-s snaplen] [-f services]\n"
+- " [-t trigger[,...]] [-r|-w savefile] [expression]\n");
++ "Usage: dsniff [-cdmn] [-i interface | -p pcapfile] [-s snaplen]\n"
++ " [-f services] [-t trigger[,...]] [-r|-w savefile]\n"
++ " [expression]\n");
+ exit(1);
+ }
+
+@@ -79,7 +80,7 @@
+
+ services = savefile = triggers = NULL;
+
+- while ((c = getopt(argc, argv, "cdf:i:mnr:s:t:w:h?V")) != -1) {
++ while ((c = getopt(argc, argv, "cdf:i:mnp:r:s:t:w:h?V")) != -1) {
+ switch (c) {
+ case 'c':
+ Opt_client = 1;
+@@ -99,6 +100,9 @@
+ case 'n':
+ Opt_dns = 0;
+ break;
++ case 'p':
++ nids_params.filename = optarg;
++ break;
+ case 'r':
+ Opt_read = 1;
+ savefile = optarg;
+@@ -168,10 +172,23 @@
+ else nids_register_tcp(trigger_tcp);
+
+ if (nids_params.pcap_filter != NULL) {
+- warnx("listening on %s [%s]", nids_params.device,
+- nids_params.pcap_filter);
++ if (nids_params.filename == NULL) {
++ warnx("listening on %s [%s]", nids_params.device,
++ nids_params.pcap_filter);
++ }
++ else {
++ warnx("using %s [%s]", nids_params.filename,
++ nids_params.pcap_filter);
++ }
++ }
++ else {
++ if (nids_params.filename == NULL) {
++ warnx("listening on %s", nids_params.device);
++ }
++ else {
++ warnx("using %s", nids_params.filename);
++ }
+ }
+- else warnx("listening on %s", nids_params.device);
+
+ nids_run();
+
+--- dsniff-2.4b1/filesnarf.8 2005-07-11 20:41:14.000000000 +0000
++++ dsniff-2.4b1/filesnarf.8.pcap_dump 2005-07-11 20:41:18.000000000 +0000
+@@ -9,7 +9,7 @@
+ .na
+ .nf
+ .fi
+-\fBfilesnarf\fR [\fB-i \fIinterface\fR] [[\fB-v\fR] \fIpattern [\fIexpression\fR]]
++\fBfilesnarf\fR [\fB-i \fIinterface\fR | \fB-p \fIpcapfile\fR] [[\fB-v\fR] \fIpattern [\fIexpression\fR]]
+ .SH DESCRIPTION
+ .ad
+ .fi
+@@ -18,6 +18,8 @@
+ .SH OPTIONS
+ .IP "\fB-i \fIinterface\fR"
+ Specify the interface to listen on.
++.IP "\fB-p \fIpcapfile\fR"
++Process packets from the specified PCAP capture file instead of the network.
+ .IP \fB-v\fR
+ "Versus" mode. Invert the sense of matching, to select non-matching
+ files.
+--- dsniff-2.4b1/filesnarf.c 2005-07-11 20:41:14.000000000 +0000
++++ dsniff-2.4b1/filesnarf.c.pcap_dump 2005-07-11 20:41:18.000000000 +0000
+@@ -51,7 +51,7 @@
+ usage(void)
+ {
+ fprintf(stderr, "Version: " VERSION "\n"
+- "Usage: filesnarf [-i interface] [[-v] pattern [expression]]\n");
++ "Usage: filesnarf [-i interface | -p pcapfile] [[-v] pattern [expression]]\n");
+ exit(1);
+ }
+
+@@ -464,11 +464,14 @@
+ extern int optind;
+ int c;
+
+- while ((c = getopt(argc, argv, "i:vh?V")) != -1) {
++ while ((c = getopt(argc, argv, "i:p:vh?V")) != -1) {
+ switch (c) {
+ case 'i':
+ nids_params.device = optarg;
+ break;
++ case 'p':
++ nids_params.filename = optarg;
++ break;
+ case 'v':
+ Opt_invert = 1;
+ break;
+@@ -498,11 +501,24 @@
+ nids_register_ip(decode_udp_nfs);
+ nids_register_tcp(decode_tcp_nfs);
+
+- if (nids_params.pcap_filter != NULL) {
+- warnx("listening on %s [%s]", nids_params.device,
+- nids_params.pcap_filter);
+- }
+- else warnx("listening on %s", nids_params.device);
++ if (nids_params.pcap_filter != NULL) {
++ if (nids_params.filename == NULL) {
++ warnx("listening on %s [%s]", nids_params.device,
++ nids_params.pcap_filter);
++ }
++ else {
++ warnx("using %s [%s]", nids_params.filename,
++ nids_params.pcap_filter);
++ }
++ }
++ else {
++ if (nids_params.filename == NULL) {
++ warnx("listening on %s", nids_params.device);
++ }
++ else {
++ warnx("using %s", nids_params.filename);
++ }
++ }
+
+ nids_run();
+
+--- dsniff-2.4b1/mailsnarf.8 2005-07-11 20:41:14.000000000 +0000
++++ dsniff-2.4b1/mailsnarf.8.pcap_dump 2005-07-11 20:41:18.000000000 +0000
+@@ -9,7 +9,7 @@
+ .na
+ .nf
+ .fi
+-\fBmailsnarf\fR [\fB-i \fIinterface\fR] [[\fB-v\fR] \fIpattern [\fIexpression\fR]]
++\fBmailsnarf\fR [\fB-i \fIinterface\fR | \fB-p \fIpcapfile\fR] [[\fB-v\fR] \fIpattern [\fIexpression\fR]]
+ .SH DESCRIPTION
+ .ad
+ .fi
+@@ -19,6 +19,8 @@
+ .SH OPTIONS
+ .IP "\fB-i \fIinterface\fR"
+ Specify the interface to listen on.
++.IP "\fB-p \fIpcapfile\fR"
++Process packets from the specified PCAP capture file instead of the network.
+ .IP \fB-v\fR
+ "Versus" mode. Invert the sense of matching, to select non-matching
+ messages.
+--- dsniff-2.4b1/mailsnarf.c 2005-07-11 20:41:18.000000000 +0000
++++ dsniff-2.4b1/mailsnarf.c.pcap_dump 2005-07-11 20:41:18.000000000 +0000
+@@ -59,7 +59,7 @@
+ usage(void)
+ {
+ fprintf(stderr, "Version: " VERSION "\n"
+- "Usage: mailsnarf [-i interface] [[-v] pattern [expression]]\n");
++ "Usage: mailsnarf [-i interface | -p pcapfile] [[-v] pattern [expression]]\n");
+ exit(1);
+ }
+
+@@ -344,11 +344,14 @@
+ extern int optind;
+ int c;
+
+- while ((c = getopt(argc, argv, "i:vh?V")) != -1) {
++ while ((c = getopt(argc, argv, "i:p:vh?V")) != -1) {
+ switch (c) {
+ case 'i':
+ nids_params.device = optarg;
+ break;
++ case 'p':
++ nids_params.filename = optarg;
++ break;
+ case 'v':
+ Opt_invert = 1;
+ break;
+@@ -378,10 +381,23 @@
+ nids_register_tcp(sniff_pop_session);
+
+ if (nids_params.pcap_filter != NULL) {
+- warnx("listening on %s [%s]", nids_params.device,
+- nids_params.pcap_filter);
++ if (nids_params.filename == NULL) {
++ warnx("listening on %s [%s]", nids_params.device,
++ nids_params.pcap_filter);
++ }
++ else {
++ warnx("using %s [%s]", nids_params.filename,
++ nids_params.pcap_filter);
++ }
+ }
+- else warnx("listening on %s", nids_params.device);
++ else {
++ if (nids_params.filename == NULL) {
++ warnx("listening on %s", nids_params.device);
++ }
++ else {
++ warnx("using %s", nids_params.filename);
++ }
++ }
+
+ nids_run();
+
+--- dsniff-2.4b1/msgsnarf.8 2005-07-11 20:41:14.000000000 +0000
++++ dsniff-2.4b1/msgsnarf.8.pcap_dump 2005-07-11 20:41:18.000000000 +0000
+@@ -9,7 +9,7 @@
+ .na
+ .nf
+ .fi
+-\fBmsgsnarf\fR [\fB-i \fIinterface\fR] [[\fB-v\fR] \fIpattern [\fIexpression\fR]]
++\fBmsgsnarf\fR [\fB-i \fIinterface\fR | \fB-p \fIpcapfile\fR] [[\fB-v\fR] \fIpattern [\fIexpression\fR]]
+ .SH DESCRIPTION
+ .ad
+ .fi
+@@ -19,6 +19,8 @@
+ .SH OPTIONS
+ .IP "\fB-i \fIinterface\fR"
+ Specify the interface to listen on.
++.IP "\fB-p \fIpcapfile\fR"
++Process packets from the specified PCAP capture file instead of the network.
+ .IP \fB-v\fR
+ "Versus" mode. Invert the sense of matching, to select non-matching
+ messages.
+--- dsniff-2.4b1/msgsnarf.c 2005-07-11 20:41:18.000000000 +0000
++++ dsniff-2.4b1/msgsnarf.c.pcap_dump 2005-07-11 20:41:18.000000000 +0000
+@@ -45,7 +45,7 @@
+ usage(void)
+ {
+ fprintf(stderr, "Version: " VERSION "\n"
+- "Usage: msgsnarf [-i interface] [[-v] pattern [expression]]\n");
++ "Usage: msgsnarf [-i interface | -p pcapfile] [[-v] pattern [expression]]\n");
+ exit(1);
+ }
+
+@@ -633,11 +633,14 @@
+ extern int optind;
+ int c;
+
+- while ((c = getopt(argc, argv, "i:hv?V")) != -1) {
++ while ((c = getopt(argc, argv, "i:p:hv?V")) != -1) {
+ switch (c) {
+ case 'i':
+ nids_params.device = optarg;
+ break;
++ case 'p':
++ nids_params.filename = optarg;
++ break;
+ case 'v':
+ Opt_invert = 1;
+ break;
+@@ -666,11 +669,24 @@
+
+ nids_register_tcp(sniff_msgs);
+
+- if (nids_params.pcap_filter != NULL) {
+- warnx("listening on %s [%s]", nids_params.device,
+- nids_params.pcap_filter);
+- }
+- else warnx("listening on %s", nids_params.device);
++ if (nids_params.pcap_filter != NULL) {
++ if (nids_params.filename == NULL) {
++ warnx("listening on %s [%s]", nids_params.device,
++ nids_params.pcap_filter);
++ }
++ else {
++ warnx("using %s [%s]", nids_params.filename,
++ nids_params.pcap_filter);
++ }
++ }
++ else {
++ if (nids_params.filename == NULL) {
++ warnx("listening on %s", nids_params.device);
++ }
++ else {
++ warnx("using %s", nids_params.filename);
++ }
++ }
+
+ nids_run();
+
+--- dsniff-2.4b1/sshow.8 2005-07-11 20:41:14.000000000 +0000
++++ dsniff-2.4b1/sshow.8.pcap_dump 2005-07-11 20:41:18.000000000 +0000
+@@ -9,7 +9,7 @@
+ .na
+ .nf
+ .fi
+-\fBsshow\fR [\fB-d\fR] [\fB-i \fIinterface\fR] [\fIexpression\fR]
++\fBsshow\fR [\fB-d\fR] [\fB-i \fIinterface\fR | \fB-p \fIpcapfile\fR] [\fIexpression\fR]
+ .SH DESCRIPTION
+ .ad
+ .fi
+@@ -28,6 +28,8 @@
+ Enable verbose debugging output.
+ .IP "\fB-i \fIinterface\fR"
+ Specify the interface to listen on.
++.IP "\fB-p \fIpcapfile\fR"
++Process packets from the specified PCAP capture file instead of the network.
+ .IP "\fIexpression\fR"
+ Specify a tcpdump(8) filter expression to select traffic to sniff.
+ .SH "SEE ALSO"
+--- dsniff-2.4b1/sshow.c 2005-07-11 20:41:18.000000000 +0000
++++ dsniff-2.4b1/sshow.c.pcap_dump 2005-07-11 20:41:18.000000000 +0000
+@@ -82,7 +82,7 @@
+ static void
+ usage(void)
+ {
+- fprintf(stderr, "Usage: sshow [-d] [-i interface]\n");
++ fprintf(stderr, "Usage: sshow [-d] [-i interface | -p pcapfile]\n");
+ exit(1);
+ }
+
+@@ -616,7 +616,7 @@
+ extern int optind;
+ int c;
+
+- while ((c = getopt(argc, argv, "di:h?")) != -1) {
++ while ((c = getopt(argc, argv, "di:p:h?")) != -1) {
+ switch (c) {
+ case 'd':
+ debug++;
+@@ -624,6 +624,9 @@
+ case 'i':
+ nids_params.device = optarg;
+ break;
++ case 'p':
++ nids_params.filename = optarg;
++ break;
+ default:
+ usage();
+ break;
+@@ -652,11 +655,24 @@
+
+ nids_register_tcp(process_event);
+
+- if (nids_params.pcap_filter != NULL) {
+- warnx("listening on %s [%s]", nids_params.device,
+- nids_params.pcap_filter);
+- }
+- else warnx("listening on %s", nids_params.device);
++ if (nids_params.pcap_filter != NULL) {
++ if (nids_params.filename == NULL) {
++ warnx("listening on %s [%s]", nids_params.device,
++ nids_params.pcap_filter);
++ }
++ else {
++ warnx("using %s [%s]", nids_params.filename,
++ nids_params.pcap_filter);
++ }
++ }
++ else {
++ if (nids_params.filename == NULL) {
++ warnx("listening on %s", nids_params.device);
++ }
++ else {
++ warnx("using %s", nids_params.filename);
++ }
++ }
+
+ nids_run();
+
+--- dsniff-2.4b1/urlsnarf.8 2005-07-11 20:41:14.000000000 +0000
++++ dsniff-2.4b1/urlsnarf.8.pcap_dump 2005-07-11 20:41:18.000000000 +0000
+@@ -9,7 +9,7 @@
+ .na
+ .nf
+ .fi
+-\fBurlsnarf\fR [\fB-n\fR] [\fB-i \fIinterface\fR] [[\fB-v\fR] \fIpattern [\fIexpression\fR]]
++\fBurlsnarf\fR [\fB-n\fR] [\fB-i \fIinterface\fR | \fB-p \fIpcapfile\fR] [[\fB-v\fR] \fIpattern [\fIexpression\fR]]
+ .SH DESCRIPTION
+ .ad
+ .fi
+@@ -21,6 +21,9 @@
+ .IP \fB-n\fR
+ Do not resolve IP addresses to hostnames.
+ .IP "\fB-i \fIinterface\fR"
++Specify the interface to listen on.
++.IP "\fB-p \fIpcapfile\fR"
++Process packets from the specified PCAP capture file instead of the network.
+ .IP \fB-v\fR
+ "Versus" mode. Invert the sense of matching, to select non-matching
+ URLs.
+--- dsniff-2.4b1/urlsnarf.c 2005-07-11 20:41:14.000000000 +0000
++++ dsniff-2.4b1/urlsnarf.c.pcap_dump 2005-07-11 20:41:18.000000000 +0000
+@@ -41,7 +41,7 @@
+ usage(void)
+ {
+ fprintf(stderr, "Version: " VERSION "\n"
+- "Usage: urlsnarf [-n] [-i interface] [[-v] pattern [expression]]\n");
++ "Usage: urlsnarf [-n] [-i interface | -p pcapfile] [[-v] pattern [expression]]\n");
+ exit(1);
+ }
+
+@@ -201,11 +201,14 @@
+ extern int optind;
+ int c;
+
+- while ((c = getopt(argc, argv, "i:nvh?V")) != -1) {
++ while ((c = getopt(argc, argv, "i:p:nvh?V")) != -1) {
+ switch (c) {
+ case 'i':
+ nids_params.device = optarg;
+ break;
++ case 'p':
++ nids_params.filename = optarg;
++ break;
+ case 'n':
+ Opt_dns = 0;
+ break;
+@@ -238,8 +241,24 @@
+
+ nids_register_tcp(sniff_http_client);
+
+- warnx("listening on %s [%s]", nids_params.device,
+- nids_params.pcap_filter);
++ if (nids_params.pcap_filter != NULL) {
++ if (nids_params.filename == NULL) {
++ warnx("listening on %s [%s]", nids_params.device,
++ nids_params.pcap_filter);
++ }
++ else {
++ warnx("using %s [%s]", nids_params.filename,
++ nids_params.pcap_filter);
++ }
++ }
++ else {
++ if (nids_params.filename == NULL) {
++ warnx("listening on %s", nids_params.device);
++ }
++ else {
++ warnx("using %s", nids_params.filename);
++ }
++ }
+
+ nids_run();
+
+--- dsniff-2.4b1/webspy.8 2005-07-11 20:41:14.000000000 +0000
++++ dsniff-2.4b1/webspy.8.pcap_dump 2005-07-11 20:41:18.000000000 +0000
+@@ -9,7 +9,7 @@
+ .na
+ .nf
+ .fi
+-\fBwebspy\fR [\fB-i \fIinterface\fR] \fIhost\fR
++\fBwebspy\fR [\fB-i \fIinterface\fR | \fB-p \fIpcapfile\fR] \fIhost\fR
+ .SH DESCRIPTION
+ .ad
+ .fi
+@@ -20,6 +20,8 @@
+ .SH OPTIONS
+ .IP "\fB-i \fIinterface\fR"
+ Specify the interface to listen on.
++.IP "\fB-p \fIpcapfile\fR"
++Process packets from the specified PCAP capture file instead of the network.
+ .IP \fIhost\fR
+ Specify the web client to spy on.
+ .SH "SEE ALSO"
+--- dsniff-2.4b1/webspy.c 2005-07-11 20:41:14.000000000 +0000
++++ dsniff-2.4b1/webspy.c.pcap_dump 2005-07-11 20:41:18.000000000 +0000
+@@ -42,7 +42,7 @@
+ usage(void)
+ {
+ fprintf(stderr, "Version: " VERSION "\n"
+- "Usage: %s [-i interface] host\n", progname);
++ "Usage: %s [-i interface | -p pcapfile] host\n", progname);
+ exit(1);
+ }
+
+@@ -184,11 +184,14 @@
+ extern int optind;
+ int c;
+
+- while ((c = getopt(argc, argv, "i:h?V")) != -1) {
++ while ((c = getopt(argc, argv, "i:p:h?V")) != -1) {
+ switch (c) {
+ case 'i':
+ nids_params.device = optarg;
+ break;
++ case 'p':
++ nids_params.filename = optarg;
++ break;
+ default:
+ usage();
+ }
+@@ -216,7 +219,13 @@
+
+ nids_register_tcp(sniff_http_client);
+
+- warnx("listening on %s", nids_params.device);
++ if (nids_params.filename == NULL) {
++ warnx("listening on %s", nids_params.device);
++ }
++ else {
++ warnx("using %s", nids_params.filename);
++ }
++
+
+ nids_run();
+
Added: trunk/rpms/dsniff/dsniff-2.4-pop_with_version.patch
===================================================================
--- trunk/rpms/dsniff/dsniff-2.4-pop_with_version.patch (rev 0)
+++ trunk/rpms/dsniff/dsniff-2.4-pop_with_version.patch 2008-06-24 21:48:21 UTC (rev 6389)
@@ -0,0 +1,28 @@
+Patch by Luciano Bello <luciano at linux.org.ar> for dsniff >= 2.4b1, which
+allows to distinguish between different POP versions.
+
+--- dsniff-2.4b1/decode.c 2007-08-11 18:43:41.000000000 -0300
++++ dsniff-2.4b1/decode.c.pop_version 2007-08-11 19:01:08.000000000 -0300
+@@ -63,7 +63,8 @@
+ { "http", decode_http },
+ { "ospf", decode_ospf },
+ { "poppass", decode_poppass },
+- { "pop", decode_pop },
++ { "pop2", decode_pop },
++ { "pop3", decode_pop },
+ { "nntp", decode_nntp },
+ { "smb", decode_smb },
+ { "imap", decode_imap },
+--- dsniff-2.4b1/dsniff.services 2007-08-11 18:43:41.000000000 -0300
++++ dsniff-2.4b1/dsniff.services.pop 2007-08-11 19:00:21.000000000 -0300
+@@ -10,8 +10,8 @@
+ ospf 89/ip
+ http 98/tcp
+ poppass 106/tcp
+-pop 109/tcp
+-pop 110/tcp
++pop2 109/tcp
++pop3 110/tcp
+ portmap 111/tcp
+ portmap -111/tcp
+ portmap 111/udp
Added: trunk/rpms/dsniff/dsniff-2.4-sshcrypto.patch
===================================================================
--- trunk/rpms/dsniff/dsniff-2.4-sshcrypto.patch (rev 0)
+++ trunk/rpms/dsniff/dsniff-2.4-sshcrypto.patch 2008-06-24 21:48:21 UTC (rev 6389)
@@ -0,0 +1,14 @@
+Patch by Steve Kemp <skx at debian.org> for dsniff >= 2.4b1, which adds the
+missing OpenSSL includes for header files.
+
+--- dsniff-2.4b1/sshcrypto.c 2006-11-02 23:41:11.000000000 -0300
++++ dsniff-2.4b1/sshcrypto.c.sshcrypto 2006-11-02 23:41:55.000000000 -0300
+@@ -14,6 +14,8 @@
+
+ #include <sys/types.h>
+ #include <openssl/ssl.h>
++#include <openssl/blowfish.h>
++#include <openssl/des.h>
+
+ #include <err.h>
+ #include <stdio.h>
Added: trunk/rpms/dsniff/dsniff-2.4-string_header.patch
===================================================================
--- trunk/rpms/dsniff/dsniff-2.4-string_header.patch (rev 0)
+++ trunk/rpms/dsniff/dsniff-2.4-string_header.patch 2008-06-24 21:48:21 UTC (rev 6389)
@@ -0,0 +1,164 @@
+Patch by Luciano Bello <luciano at linux.org.ar> for dsniff >= 2.4b1, which
+adds missing includes of the string header file.
+
+--- dsniff-2.4b1/arp.c 2007-06-17 16:22:49.000000000 -0300
++++ dsniff-2.4b1/arp.c.string_header 2007-06-17 16:22:49.000000000 -0300
+@@ -34,6 +34,7 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <unistd.h>
++#include <string.h>
+
+ #include "arp.h"
+
+--- dsniff-2.4b1/buf.c 2007-06-17 16:22:39.000000000 -0300
++++ dsniff-2.4b1/buf.c.string_header 2007-06-17 16:22:49.000000000 -0300
+@@ -17,6 +17,7 @@
+ #include <unistd.h>
+ #include <ctype.h>
+ #include <err.h>
++#include <string.h>
+
+ #include "buf.h"
+
+--- dsniff-2.4b1/decode_nntp.c 2007-06-17 16:22:39.000000000 -0300
++++ dsniff-2.4b1/decode_nntp.c.string 2007-06-17 16:22:49.000000000 -0300
+@@ -15,6 +15,7 @@
+
+ #include <stdio.h>
+ #include <string.h>
++#include <strlcat.h>
+
+ #include "base64.h"
+ #include "decode.h"
+--- dsniff-2.4b1/decode_pop.c 2007-06-17 16:22:39.000000000 -0300
++++ dsniff-2.4b1/decode_pop.c.string 2007-06-17 16:22:49.000000000 -0300
+@@ -14,6 +14,7 @@
+
+ #include <stdio.h>
+ #include <string.h>
++#include <strlcat.h>
+
+ #include "base64.h"
+ #include "options.h"
+--- dsniff-2.4b1/decode_rlogin.c 2007-06-17 16:22:39.000000000 -0300
++++ dsniff-2.4b1/decode_rlogin.c.string 2007-06-17 16:22:49.000000000 -0300
+@@ -14,6 +14,8 @@
+
+ #include <stdio.h>
+ #include <string.h>
++#include <strlcpy.h>
++#include <strlcat.h>
+
+ #include "options.h"
+ #include "decode.h"
+--- dsniff-2.4b1/decode_smb.c 2007-06-17 16:22:39.000000000 -0300
++++ dsniff-2.4b1/decode_smb.c.string 2007-06-17 16:22:49.000000000 -0300
+@@ -15,6 +15,7 @@
+
+ #include <stdio.h>
+ #include <string.h>
++#include <strlcat.h>
+
+ #include "decode.h"
+
+--- dsniff-2.4b1/decode_smtp.c 2007-06-17 16:22:39.000000000 -0300
++++ dsniff-2.4b1/decode_smtp.c.string 2007-06-17 16:22:49.000000000 -0300
+@@ -14,6 +14,7 @@
+
+ #include <stdio.h>
+ #include <string.h>
++#include <strlcat.h>
+
+ #include "base64.h"
+ #include "options.h"
+--- dsniff-2.4b1/decode_sniffer.c 2007-06-17 16:22:39.000000000 -0300
++++ dsniff-2.4b1/decode_sniffer.c.str 2007-06-17 16:22:49.000000000 -0300
+@@ -15,6 +15,8 @@
+
+ #include <stdio.h>
+ #include <string.h>
++#include <strlcat.h>
++#include <strlcpy.h>
+
+ #include "base64.h"
+ #include "decode.h"
+--- dsniff-2.4b1/decode_socks.c 2007-06-17 16:22:39.000000000 -0300
++++ dsniff-2.4b1/decode_socks.c.string 2007-06-17 16:22:49.000000000 -0300
+@@ -14,6 +14,7 @@
+
+ #include <stdio.h>
+ #include <string.h>
++#include <strlcat.h>
+
+ #include "decode.h"
+
+--- dsniff-2.4b1/decode_tds.c 2007-06-17 16:22:39.000000000 -0300
++++ dsniff-2.4b1/decode_tds.c.string 2007-06-17 16:22:49.000000000 -0300
+@@ -18,6 +18,7 @@
+
+ #include <stdio.h>
+ #include <string.h>
++#include <strlcat.h>
+
+ #include "decode.h"
+
+--- dsniff-2.4b1/decode_telnet.c 2007-06-17 16:22:39.000000000 -0300
++++ dsniff-2.4b1/decode_telnet.c.string 2007-06-17 16:22:49.000000000 -0300
+@@ -14,6 +14,7 @@
+
+ #include <stdio.h>
+ #include <string.h>
++#include <strlcpy.h>
+
+ #include "options.h"
+ #include "decode.h"
+--- dsniff-2.4b1/decode_x11.c 2007-06-17 16:22:39.000000000 -0300
++++ dsniff-2.4b1/decode_x11.c.string 2007-06-17 16:22:49.000000000 -0300
+@@ -14,6 +14,8 @@
+
+ #include <stdio.h>
+ #include <string.h>
++#include <strlcat.h>
++#include <strlcpy.h>
+
+ #include "decode.h"
+
+--- dsniff-2.4b1/dnsspoof.c 2007-06-17 16:22:49.000000000 -0300
++++ dsniff-2.4b1/dnsspoof.c.string 2007-06-17 16:22:49.000000000 -0300
+@@ -20,6 +20,7 @@
+ #include <stdlib.h>
+ #include <signal.h>
+ #include <string.h>
++#include <strlcpy.h>
+ #include <resolv.h>
+ #include <err.h>
+ #include <libnet.h>
+--- dsniff-2.4b1/magic.c 2007-06-17 16:22:39.000000000 -0300
++++ dsniff-2.4b1/magic.c.string_header 2007-06-17 16:22:49.000000000 -0300
+@@ -36,6 +36,7 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <strlcpy.h>
+ #include <ctype.h>
+ #include <time.h>
+ #include <err.h>
+--- dsniff-2.4b1/sshmitm.c 2007-06-17 16:22:49.000000000 -0300
++++ dsniff-2.4b1/sshmitm.c.string 2007-06-17 16:22:49.000000000 -0300
+@@ -24,6 +24,7 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <unistd.h>
++#include <strlcat.h>
+
+ #include "buf.h"
+ #include "record.h"
+--- dsniff-2.4b1/missing/strlcat.h 1969-12-31 21:00:00.000000000 -0300
++++ dsniff-2.4b1/missing/strlcat.h.str 2007-06-17 16:22:49.000000000 -0300
+@@ -0,0 +1 @@
++size_t strlcat(char *dst, const char *src, size_t siz);
+--- dsniff-2.4b1/missing/strlcpy.h 1969-12-31 21:00:00.000000000 -0300
++++ dsniff-2.4b1/missing/strlcpy.h.str 2007-06-17 16:22:49.000000000 -0300
+@@ -0,0 +1 @@
++size_t strlcpy(char *dst, const char *src, size_t siz);
Added: trunk/rpms/dsniff/dsniff-2.4-sysconf_clocks.patch
===================================================================
--- trunk/rpms/dsniff/dsniff-2.4-sysconf_clocks.patch (rev 0)
+++ trunk/rpms/dsniff/dsniff-2.4-sysconf_clocks.patch 2008-06-24 21:48:21 UTC (rev 6389)
@@ -0,0 +1,26 @@
+Patch by <kees at ubuntu.com> for dsniff >= 2.4b1, which adds a clock fix. It
+was improved by Robert Scheck <robert at fedoraproject.org> to work with older
+Linux kernel versions, too.
+
+--- dsniff-2.4b1/sshow.c 2007-12-03 23:50:12.000000000 +0100
++++ dsniff-2.4b1/sshow.c.sysconf_clocks 2007-12-03 23:53:12.000000000 +0100
+@@ -217,6 +217,9 @@
+ {
+ clock_t delay;
+ int payload;
++#if defined(_SC_CLK_TCK)
++ long CLK_TCK = sysconf(_SC_CLK_TCK);
++#endif
+
+ delay = add_history(session, 0, cipher_size, plain_range);
+
+@@ -265,6 +268,9 @@
+ clock_t delay;
+ int skip;
+ range string_range;
++#if defined(_SC_CLK_TCK)
++ long CLK_TCK = sysconf(_SC_CLK_TCK);
++#endif
+
+ delay = add_history(session, 1, cipher_size, plain_range);
+
Added: trunk/rpms/dsniff/dsniff-2.4-time_h.patch
===================================================================
--- trunk/rpms/dsniff/dsniff-2.4-time_h.patch (rev 0)
+++ trunk/rpms/dsniff/dsniff-2.4-time_h.patch 2008-06-24 21:48:21 UTC (rev 6389)
@@ -0,0 +1,24 @@
+Patch by Steve Kemp <skx at debian.org> for dsniff >= 2.4b1, which adds an
+include of <time.h> to fix a segfault on some architectures. For further
+information, please have a look to Debian bug ID #315969.
+
+--- dsniff-2.4b1/msgsnarf.c 2001-03-15 08:33:04.000000000 +0000
++++ dsniff-2.4b1/msgsnarf.c.time_h 2005-07-11 20:15:50.000000000 +0000
+@@ -23,6 +23,7 @@
+ #include <nids.h>
+ #include <pcap.h>
+ #include <pcaputil.h>
++#include <time.h>
+
+ #include "buf.h"
+ #include "decode.h"
+--- dsniff-2.4b1/sshow.c 2005-07-11 20:14:19.000000000 +0000
++++ dsniff-2.4b1/sshow.c.time_h 2005-07-11 20:15:26.000000000 +0000
+@@ -15,6 +15,7 @@
+
+ #include <sys/types.h>
+ #include <sys/times.h>
++#include <time.h>
+
+ #include <netinet/in_systm.h>
+ #include <netinet/in.h>
Added: trunk/rpms/dsniff/dsniff-2.4-urlsnarf_escape.patch
===================================================================
--- trunk/rpms/dsniff/dsniff-2.4-urlsnarf_escape.patch (rev 0)
+++ trunk/rpms/dsniff/dsniff-2.4-urlsnarf_escape.patch 2008-06-24 21:48:21 UTC (rev 6389)
@@ -0,0 +1,86 @@
+Patch by Hilko Bengen <bengen at debian.org> for dsniff >= 2.4b1, which adds
+escaping for user, vhost, uri, referrer and agent strings in the log. For
+further information, please have a look to Debian bug ID #372536.
+
+--- dsniff-2.4b1/urlsnarf.c 2006-11-27 17:09:54.000000000 +0100
++++ dsniff-2.4b1/urlsnarf.c.escape 2006-11-27 17:08:41.000000000 +0100
+@@ -84,6 +84,43 @@
+ return (tstr);
+ }
+
++static char *
++escape_log_entry(char *string)
++{
++ char *out;
++ unsigned char *c, *o;
++ size_t len;
++
++ if (!string)
++ return NULL;
++
++ /* Determine needed length */
++ for (c = string, len = 0; *c; c++) {
++ if ((*c < 32) || (*c >= 128))
++ len += 4;
++ else if ((*c == '"') || (*c =='\\'))
++ len += 2;
++ else
++ len++;
++ }
++ out = malloc(len+1);
++ if (!out)
++ return NULL;
++ for (c = string, o = out; *c; c++, o++) {
++ if ((*c < 32) || (*c >= 128)) {
++ snprintf(o, 5, "\\x%02x", *c);
++ o += 3;
++ } else if ((*c == '"') || ((*c =='\\'))) {
++ *(o++) = '\\';
++ *o = *c;
++ } else {
++ *o = *c;
++ }
++ }
++ out[len]='\0';
++ return out;
++}
++
+ static int
+ process_http_request(struct tuple4 *addr, u_char *data, int len)
+ {
+@@ -142,18 +179,26 @@
+ buf_tok(NULL, NULL, i);
+ }
+ }
+- if (user == NULL)
+- user = "-";
+- if (vhost == NULL)
+- vhost = libnet_addr2name4(addr->daddr, Opt_dns);
+- if (referer == NULL)
+- referer = "-";
+- if (agent == NULL)
+- agent = "-";
+-
++ user = escape_log_entry(user);
++ vhost = escape_log_entry(vhost);
++ uri = escape_log_entry(uri);
++ referer = escape_log_entry(referer);
++ agent = escape_log_entry(agent);
++
+ printf("%s - %s [%s] \"%s http://%s%s\" - - \"%s\" \"%s\"\n",
+ libnet_addr2name4(addr->saddr, Opt_dns),
+- user, timestamp(), req, vhost, uri, referer, agent);
++ (user?user:"-"),
++ timestamp(), req,
++ (vhost?vhost:libnet_addr2name4(addr->daddr, Opt_dns)),
++ uri,
++ (referer?referer:"-"),
++ (agent?agent:"-"));
++
++ free(user);
++ free(vhost);
++ free(uri);
++ free(referer);
++ free(agent);
+ }
+ fflush(stdout);
Added: trunk/rpms/dsniff/dsniff-2.4-urlsnarf_zeropad.patch
===================================================================
--- trunk/rpms/dsniff/dsniff-2.4-urlsnarf_zeropad.patch (rev 0)
+++ trunk/rpms/dsniff/dsniff-2.4-urlsnarf_zeropad.patch 2008-06-24 21:48:21 UTC (rev 6389)
@@ -0,0 +1,15 @@
+Patch by Steve Kemp <skx at debian.org> for dsniff >= 2.4b1, which fixes the
+zero-pad date. For further information, please have a look to Debian bug ID
+#298605.
+
+--- dsniff-2.4b1/urlsnarf.c 2005-06-23 03:30:37.000000000 +0000
++++ dsniff-2.4b1/urlsnarf.c.zeropad 2005-06-23 04:04:07.000000000 +0000
+@@ -68,7 +68,7 @@
+ t->tm_hour - gmt.tm_hour);
+ tz = hours * 60 + t->tm_min - gmt.tm_min;
+
+- len = strftime(tstr, sizeof(tstr), "%e/%b/%Y:%X", t);
++ len = strftime(tstr, sizeof(tstr), "%d/%b/%Y:%X", t);
+ if (len < 0 || len > sizeof(tstr) - 5)
+ return (NULL);
+
Modified: trunk/rpms/dsniff/dsniff.spec
===================================================================
--- trunk/rpms/dsniff/dsniff.spec 2008-06-23 22:04:43 UTC (rev 6388)
+++ trunk/rpms/dsniff/dsniff.spec 2008-06-24 21:48:21 UTC (rev 6389)
@@ -4,26 +4,80 @@
%{?dtag: %{expand: %%define %dtag 1}}
+%{!?dtag:%define _with_libpcapdevel 1}
+%{?el5:%define _with_libpcapdevel 1}
+%{?fc6:%define _with_libpcapdevel 1}
+
%define _libdir %{_sysconfdir}
Summary: Tools for network auditing and penetration testing
Name: dsniff
Version: 2.4
-Release: 0.b1.2
+Release: 0.1.b1
License: GPL
Group: Applications/Internet
URL: http://www.monkey.org/~dugsong/dsniff/
Source: http://www.monkey.org/~dugsong/dsniff/beta/dsniff-%{version}b1.tar.gz
+Patch0: dsniff-2.4-time_h.patch
+Patch1: dsniff-2.4-mailsnarf_corrupt.patch
+Patch2: dsniff-2.4-pcap_read_dump.patch
+Patch3: dsniff-2.4-multiple_intf.patch
+Patch4: dsniff-2.4-amd64_fix.patch
+Patch5: dsniff-2.4-urlsnarf_zeropad.patch
+Patch6: dsniff-2.4-libnet_11.patch
+Patch7: dsniff-2.4-checksum.patch
+Patch8: dsniff-2.4-openssl_098.patch
+Patch9: dsniff-2.4-sshcrypto.patch
+Patch10: dsniff-2.4-sysconf_clocks.patch
+Patch11: dsniff-2.4-urlsnarf_escape.patch
+Patch12: dsniff-2.4-string_header.patch
+Patch13: dsniff-2.4-arpa_inet_header.patch
+Patch14: dsniff-2.4-pop_with_version.patch
+Patch15: dsniff-2.4-obsolete_time.patch
+Patch16: dsniff-2.4-checksum_libnids.patch
+Patch17: dsniff-2.4-fedora_dirs.patch
+Patch18: dsniff-2.4-glib2.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
-BuildRequires: libnet > 1.0, libnet < 1.1, libnids >= 1.16, openssl-devel >= 0.9.5a
+BuildRequires: db4-devel
+BuildRequires: glib2-devel
+BuildRequires: libnet
+BuildRequires: libnids >= 1.16
+BuildRequires: libpcap
+%{?_with_libpcapdevel:BuildRequires:libpcap-devel}
+BuildRequires: openssl-devel >= 0.9.5a
%description
dsniff is a collection of tools for network auditing and penetration testing.
+Dsniff, filesnarf, mailsnarf, msgsnarf, urlsnarf and webspy allow to passively
+monitor a network for interesting data (passwords, e-mail, files). Arpspoof,
+dnsspoof and macof facilitate the interception of network traffic normally
+unavailable to an attacker (e.g, due to layer-2 switching). Sshmitm and
+webmitm implement active monkey-in-the-middle attacks against redirected SSH
+and HTTPS sessions by exploiting weak bindings in ad-hoc PKI.
%prep
%setup
+%patch0 -p1 -b .time_h
+%patch1 -p1 -b .mailsnarf
+%patch2 -p1 -b .pcap_dump
+%patch3 -p1 -b .multiple_intf
+%patch4 -p1 -b .amd64_fix
+%patch5 -p1 -b .urlsnarf_zeropad
+%patch6 -p1 -b .libnet_11
+%patch7 -p1 -b .checksum
+%patch8 -p1 -b .openssl_098
+%patch9 -p1 -b .sshcrypto
+%{?el5:%patch10 -p1 -b .sysconf_clocks}
+%patch11 -p1 -b .urlsnarf_escape
+%patch12 -p1 -b .string_header
+%patch13 -p1 -b .arpa_inet_header
+%patch14 -p1 -b .pop_with_version
+%patch15 -p1 -b .obsolete_time
+%patch16 -p1 -b .checksum_libnids
+%patch17 -p1 -b .fedora_dirs
+%patch18 -p1 -b .glib2
### FIXME: Make it build for RH9 and RHEL3
%{?el3:%{__perl} -pi.orig -e 's|^(INCS =) |$1 -I/usr/kerberos/include |' Makefile.in}
@@ -37,9 +91,7 @@
%install
%{__rm} -rf %{buildroot}
-%{__install} -d -m0755 %{buildroot}%{_sbindir} \
- %{buildroot}%{_mandir}
-%makeinstall
+%{__make} install install_prefix="%{buildroot}"
%clean
%{__rm} -rf %{buildroot}
@@ -48,12 +100,12 @@
%defattr(-, root, root, 0755)
%doc CHANGES LICENSE README TODO
%doc %{_mandir}/man8/*.8*
-%config(noreplace) %{_sysconfdir}/*
+%config(noreplace) %{_sysconfdir}/dsniff/
%{_sbindir}/*
%changelog
-* Sat Apr 08 2006 Dries Verachtert <dries at ulyssis.org> - 2.4-0.b1.2
-- Rebuild for Fedora Core 5.
+* Tue Jun 24 2008 Dag Wieers <dag at wieers.com> - 2.4-0.1.b1
+- Added patches from Fedora.
* Fri Nov 26 2004 Dag Wieers <dag at wieers.com> - 2.4-0.b1
- Updated to release 2.4b1.
Modified: trunk/rpms/mapchan/mapchan.spec
===================================================================
--- trunk/rpms/mapchan/mapchan.spec 2008-06-23 22:04:43 UTC (rev 6388)
+++ trunk/rpms/mapchan/mapchan.spec 2008-06-24 21:48:21 UTC (rev 6389)
@@ -9,7 +9,7 @@
Version: 2.0
Release: 1
License: GPL
-Group: Applications/
+Group: Applications/System
URL: http://www.iceb.vc.ukrtel.net/
Source: http://www.iceb.vc.ukrtel.net/download/mapchan-%{version}.tar.bz2
Modified: trunk/rpms/perl-Lemonldap-NG-Handler/perl-Lemonldap-NG-Handler.spec
===================================================================
--- trunk/rpms/perl-Lemonldap-NG-Handler/perl-Lemonldap-NG-Handler.spec 2008-06-23 22:04:43 UTC (rev 6388)
+++ trunk/rpms/perl-Lemonldap-NG-Handler/perl-Lemonldap-NG-Handler.spec 2008-06-24 21:48:21 UTC (rev 6389)
@@ -1,6 +1,6 @@
# $Id$
# Authority: dries
-# Upstream: Xavier Guimard <perl+cpan$astola,org>
+# Upstream: Xavier Guimard <x,guimard$free,fr>
%define perl_vendorlib %(eval "`%{__perl} -V:installvendorlib`"; echo $installvendorlib)
%define perl_vendorarch %(eval "`%{__perl} -V:installvendorarch`"; echo $installvendorarch)
@@ -9,7 +9,7 @@
Summary: Apache protection module part of Lemonldap::NG Web-SSO system
Name: perl-Lemonldap-NG-Handler
-Version: 0.86
+Version: 0.88
Release: 1
License: Artistic/GPL
Group: Applications/CPAN
@@ -56,6 +56,9 @@
%{perl_vendorlib}/Lemonldap/NG/Handler.pm
%changelog
+* Tue Jun 24 2008 Dag Wieers <dag at wieers.com> - 0.88-1
+- Updated to release 0.88.
+
* Mon May 05 2008 Dag Wieers <dag at wieers.com> - 0.86-1
- Updated to release 0.86.
Modified: trunk/rpms/perl-Lemonldap-NG-Manager/perl-Lemonldap-NG-Manager.spec
===================================================================
--- trunk/rpms/perl-Lemonldap-NG-Manager/perl-Lemonldap-NG-Manager.spec 2008-06-23 22:04:43 UTC (rev 6388)
+++ trunk/rpms/perl-Lemonldap-NG-Manager/perl-Lemonldap-NG-Manager.spec 2008-06-24 21:48:21 UTC (rev 6389)
@@ -1,6 +1,6 @@
# $Id$
# Authority: dries
-# Upstream: Xavier Guimard <perl+cpan$astola,org>
+# Upstream: Xavier Guimard <x,guimard$free,fr>
%define perl_vendorlib %(eval "`%{__perl} -V:installvendorlib`"; echo $installvendorlib)
%define perl_vendorarch %(eval "`%{__perl} -V:installvendorarch`"; echo $installvendorarch)
@@ -9,7 +9,7 @@
Summary: Perl extension for managing Lemonldap::NG Web-SSO system
Name: perl-Lemonldap-NG-Manager
-Version: 0.84
+Version: 0.85
Release: 1
License: Artistic/GPL
Group: Applications/CPAN
@@ -61,6 +61,9 @@
%{perl_vendorlib}/Lemonldap/NG/Manager.pm
%changelog
+* Tue Jun 24 2008 Dag Wieers <dag at wieers.com> - 0.85-1
+- Updated to release 0.85.
+
* Sat May 10 2008 Dag Wieers <dag at wieers.com> - 0.84-1
- Updated to release 0.84.
Modified: trunk/rpms/perl-Lingua-Alphabet-Phonetic/perl-Lingua-Alphabet-Phonetic.spec
===================================================================
--- trunk/rpms/perl-Lingua-Alphabet-Phonetic/perl-Lingua-Alphabet-Phonetic.spec 2008-06-23 22:04:43 UTC (rev 6388)
+++ trunk/rpms/perl-Lingua-Alphabet-Phonetic/perl-Lingua-Alphabet-Phonetic.spec 2008-06-24 21:48:21 UTC (rev 6389)
@@ -1,6 +1,6 @@
# $Id$
# Authority: dries
-# Upstream: Martin 'Kingpin' Thurn <mthurn$verizon,net>
+# Upstream: Martin Thurn <mthurn$cpan,org>
%define perl_vendorlib %(eval "`%{__perl} -V:installvendorlib`"; echo $installvendorlib)
%define perl_vendorarch %(eval "`%{__perl} -V:installvendorarch`"; echo $installvendorarch)
@@ -9,7 +9,7 @@
Summary: Map ABC to phonetic alphabets
Name: perl-Lingua-Alphabet-Phonetic
-Version: 0.056
+Version: 0.102
Release: 1
License: Artistic/GPL
Group: Applications/CPAN
@@ -19,8 +19,14 @@
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
BuildArch: noarch
-BuildRequires: perl
+BuildRequires: perl >= 0:5.004
BuildRequires: perl(ExtUtils::MakeMaker)
+BuildRequires: perl(File::Basename)
+BuildRequires: perl(Test::More)
+BuildRequires: perl(Test::Pod)
+BuildRequires: perl(Test::Pod::Coverage)
+BuildRequires: perl(Test::Simple)
+Requires: perl >= 0:5.004
%description
Map ABC to phonetic alphabets.
@@ -44,7 +50,7 @@
%files
%defattr(-, root, root, 0755)
-%doc Changes
+%doc Changes MANIFEST META.yml README
%doc %{_mandir}/man1/phonetize.1*
%doc %{_mandir}/man3/Lingua::Alphabet::Phonetic.3pm*
%doc %{_mandir}/man3/Lingua::Alphabet::Phonetic::*.3pm*
@@ -55,6 +61,9 @@
%{perl_vendorlib}/Lingua/Alphabet/Phonetic.pm
%changelog
+* Tue Jun 24 2008 Dag Wieers <dag at wieers.com> - 0.102-1
+- Updated to release 0.102.
+
* Fri Mar 14 2008 Dag Wieers <dag at wieers.com> - 0.056-1
- Updated to release 0.056.
Modified: trunk/rpms/perl-List-Compare/perl-List-Compare.spec
===================================================================
--- trunk/rpms/perl-List-Compare/perl-List-Compare.spec 2008-06-23 22:04:43 UTC (rev 6388)
+++ trunk/rpms/perl-List-Compare/perl-List-Compare.spec 2008-06-24 21:48:21 UTC (rev 6389)
@@ -9,7 +9,7 @@
Summary: Compare elements of two or more lists
Name: perl-List-Compare
-Version: 0.34
+Version: 0.37
Release: 1
License: Artistic/GPL
Group: Applications/CPAN
@@ -44,7 +44,7 @@
%files
%defattr(-, root, root, 0755)
-%doc Changes MANIFEST MANIFEST.SKIP META.yml README
+%doc Changes FAQ MANIFEST MANIFEST.SKIP META.yml README
%doc %{_mandir}/man3/List::Compare.3pm*
%doc %{_mandir}/man3/List::Compare::*.3pm*
%dir %{perl_vendorlib}/List/
@@ -52,6 +52,9 @@
%{perl_vendorlib}/List/Compare.pm
%changelog
+* Tue Jun 24 2008 Dag Wieers <dag at wieers.com> - 0.37-1
+- Updated to release 0.37.
+
* Tue Nov 13 2007 Dag Wieers <dag at wieers.com> - 0.35-1
- Updated to release 0.35.
Modified: trunk/rpms/perl-Locale-Maketext/perl-Locale-Maketext.spec
===================================================================
--- trunk/rpms/perl-Locale-Maketext/perl-Locale-Maketext.spec 2008-06-23 22:04:43 UTC (rev 6388)
+++ trunk/rpms/perl-Locale-Maketext/perl-Locale-Maketext.spec 2008-06-24 21:48:21 UTC (rev 6389)
@@ -11,7 +11,7 @@
Summary: framework for localization and inheritance-based lexicons for Perl
Name: perl-Locale-Maketext
-Version: 1.12
+Version: 1.13
Release: 1
License: Artistic/GPL
Group: Applications/CPAN
@@ -59,6 +59,9 @@
%{perl_vendorlib}/Locale/Maketext.pod
%changelog
+* Tue Jun 24 2008 Dag Wieers <dag at wieers.com> - 1.13-1
+- Updated to release 1.13.
+
* Sat Nov 24 2007 Dag Wieers <dag at wieers.com> - 1.12-1
- Updated to release 1.12.
Modified: trunk/rpms/perl-Locale-PO/perl-Locale-PO.spec
===================================================================
--- trunk/rpms/perl-Locale-PO/perl-Locale-PO.spec 2008-06-23 22:04:43 UTC (rev 6388)
+++ trunk/rpms/perl-Locale-PO/perl-Locale-PO.spec 2008-06-24 21:48:21 UTC (rev 6389)
@@ -9,7 +9,7 @@
Summary: Perl module for manipulating .po entries from GNU gettext
Name: perl-Locale-PO
-Version: 0.20
+Version: 0.21
Release: 1
License: Artistic/GPL
Group: Applications/CPAN
@@ -50,6 +50,9 @@
%{perl_vendorlib}/Locale/PO.pm
%changelog
+* Tue Jun 24 2008 Dag Wieers <dag at wieers.com> - 0.21-1
+- Updated to release 0.21.
+
* Sat May 10 2008 Dag Wieers <dag at wieers.com> - 0.20-1
- Updated to release 0.20.
Modified: trunk/rpms/perl-MARC-Charset/perl-MARC-Charset.spec
===================================================================
--- trunk/rpms/perl-MARC-Charset/perl-MARC-Charset.spec 2008-06-23 22:04:43 UTC (rev 6388)
+++ trunk/rpms/perl-MARC-Charset/perl-MARC-Charset.spec 2008-06-24 21:48:21 UTC (rev 6389)
@@ -9,7 +9,7 @@
Summary: Perl module to convert MARC-8 encoded strings to UTF-8
Name: perl-MARC-Charset
-Version: 0.98
+Version: 1.0
Release: 1
License: Artistic/GPL
Group: Applications/CPAN
@@ -51,5 +51,8 @@
%{perl_vendorlib}/MARC/Charset.pm
%changelog
+* Tue Jun 24 2008 Dag Wieers <dag at wieers.com> - 1.0-1
+- Updated to release 1.0.
+
* Sun Oct 07 2007 Dag Wieers <dag at wieers.com> - 0.98-1
- Initial package. (using DAR)
Modified: trunk/rpms/perl-MIME-Types/perl-MIME-Types.spec
===================================================================
--- trunk/rpms/perl-MIME-Types/perl-MIME-Types.spec 2008-06-23 22:04:43 UTC (rev 6388)
+++ trunk/rpms/perl-MIME-Types/perl-MIME-Types.spec 2008-06-24 21:48:21 UTC (rev 6389)
@@ -9,7 +9,7 @@
Summary: Definition of MIME types
Name: perl-MIME-Types
-Version: 1.23
+Version: 1.24
Release: 1
License: Artistic/GPL
Group: Applications/CPAN
@@ -56,6 +56,9 @@
%{perl_vendorlib}/MIME/Types.pod
%changelog
+* Tue Jun 24 2008 Dag Wieers <dag at wieers.com> - 1.24-1
+- Updated to release 1.24.
+
* Thu Dec 27 2007 Dag Wieers <dag at wieers.com> - 1.23-1
- Updated to release 1.23.
Modified: trunk/rpms/perl-Mail-DKIM/perl-Mail-DKIM.spec
===================================================================
--- trunk/rpms/perl-Mail-DKIM/perl-Mail-DKIM.spec 2008-06-23 22:04:43 UTC (rev 6388)
+++ trunk/rpms/perl-Mail-DKIM/perl-Mail-DKIM.spec 2008-06-24 21:48:21 UTC (rev 6389)
@@ -9,7 +9,7 @@
Summary: Perl module to signs/verify Internet mail with DKIM/DomainKey signatures
Name: perl-Mail-DKIM
-Version: 0.31
+Version: 0.32
Release: 1
License: Artistic/GPL
Group: Applications/CPAN
@@ -53,6 +53,9 @@
%{perl_vendorlib}/Mail/DKIM.pm
%changelog
+* Tue Jun 24 2008 Dag Wieers <dag at wieers.com> - 0.32-1
+- Updated to release 0.32.
+
* Wed May 14 2008 Dag Wieers <dag at wieers.com> - 0.31-1
- Updated to release 0.31.
Modified: trunk/rpms/perl-Mail-IMAPClient/perl-Mail-IMAPClient.spec
===================================================================
--- trunk/rpms/perl-Mail-IMAPClient/perl-Mail-IMAPClient.spec 2008-06-23 22:04:43 UTC (rev 6388)
+++ trunk/rpms/perl-Mail-IMAPClient/perl-Mail-IMAPClient.spec 2008-06-24 21:48:21 UTC (rev 6389)
@@ -9,7 +9,7 @@
Summary: IMAP4 client library
Name: perl-Mail-IMAPClient
-Version: 3.07
+Version: 3.08
Release: 1
License: Artistic/GPL
Group: Applications/CPAN
@@ -48,7 +48,7 @@
%files
%defattr(-, root, root, 0755)
-%doc COPYRIGHT Changes INSTALL MANIFEST META.yml README Todo test_template.txt examples/
+%doc COPYRIGHT Changes INSTALL MANIFEST META.yml README TODO test_template.txt examples/
%doc %{_mandir}/man3/Mail::IMAPClient.3pm*
%doc %{_mandir}/man3/Mail::IMAPClient::*.3pm*
%dir %{perl_vendorlib}/Mail/
@@ -57,6 +57,9 @@
%{perl_vendorlib}/Mail/IMAPClient.pod
%changelog
+* Tue Jun 24 2008 Dag Wieers <dag at wieers.com> - 3.08-1
+- Updated to release 3.08.
+
* Wed May 14 2008 Dag Wieers <dag at wieers.com> - 3.07-1
- Updated to release 3.07.
Modified: trunk/rpms/perl-Math-Prime-XS/perl-Math-Prime-XS.spec
===================================================================
--- trunk/rpms/perl-Math-Prime-XS/perl-Math-Prime-XS.spec 2008-06-23 22:04:43 UTC (rev 6388)
+++ trunk/rpms/perl-Math-Prime-XS/perl-Math-Prime-XS.spec 2008-06-24 21:48:21 UTC (rev 6389)
@@ -9,7 +9,7 @@
Summary: Calculate/detect prime numbers with deterministic tests
Name: perl-Math-Prime-XS
-Version: 0.19
+Version: 0.20
Release: 1
License: Artistic/GPL
Group: Applications/CPAN
@@ -56,7 +56,10 @@
%{perl_vendorarch}/Math/Prime/XS.pm
%changelog
-* Mon Feb 25 2008 Dag Wieers <dag at wieers.com> - 0.19-1
+* Tue Jun 24 2008 Dag Wieers <dag at wieers.com> - 0.20-1
+- Updated to release 0.20.
+
+* Mon Feb 25 2008 Dag Wieers <dag at wieers.com> - 0.19-1
- Updated to release 0.19.
* Wed Feb 20 2008 Dag Wieers <dag at wieers.com> - 0.18-1
Modified: trunk/rpms/perl-Math-Random-MT-Auto/perl-Math-Random-MT-Auto.spec
===================================================================
--- trunk/rpms/perl-Math-Random-MT-Auto/perl-Math-Random-MT-Auto.spec 2008-06-23 22:04:43 UTC (rev 6388)
+++ trunk/rpms/perl-Math-Random-MT-Auto/perl-Math-Random-MT-Auto.spec 2008-06-24 21:48:21 UTC (rev 6389)
@@ -9,7 +9,7 @@
Summary: Auto-seeded Mersenne Twister PRNGs
Name: perl-Math-Random-MT-Auto
-Version: 6.12
+Version: 6.14
Release: 1
License: Artistic/GPL
Group: Applications/CPAN
@@ -60,6 +60,9 @@
%{perl_vendorarch}/Math/Random/MT/Auto.pm
%changelog
+* Tue Jun 24 2008 Dag Wieers <dag at wieers.com> - 6.14-1
+- Updated to release 6.14.
+
* Thu Feb 28 2008 Dag Wieers <dag at wieers.com> - 6.12-1
- Updated to release 6.12.
Modified: trunk/rpms/soundconverter/soundconverter.spec
===================================================================
--- trunk/rpms/soundconverter/soundconverter.spec 2008-06-23 22:04:43 UTC (rev 6388)
+++ trunk/rpms/soundconverter/soundconverter.spec 2008-06-24 21:48:21 UTC (rev 6389)
@@ -5,7 +5,7 @@
Summary: Simple sound converter application
Name: soundconverter
-Version: 1.0.0
+Version: 1.3.1
Release: 1
License: GPL
Group: Applications/Multimedia
@@ -49,6 +49,12 @@
%{_datadir}/soundconverter/
%changelog
+* Tue Jun 24 2008 Dag Wieers <dag at wieers.com> - 1.3.1-1
+- Updated to release 1.3.1.
+
+* Tue Jun 24 2008 Dag Wieers <dag at wieers.com> - 1.3.0-1
+- Updated to release 1.3.0.
+
* Sun Apr 6 2008 Dries Verachtert <dries at ulyssis.org> - 1.0.0-1
- Updated to release 1.0.0.
Added: trunk/rpms/subversion/subversion-1.4.spec
===================================================================
--- trunk/rpms/subversion/subversion-1.4.spec (rev 0)
+++ trunk/rpms/subversion/subversion-1.4.spec 2008-06-24 21:48:21 UTC (rev 6389)
@@ -0,0 +1,557 @@
+# $Id$
+# Authority: dag
+
+##ExcludeDist: fc3
+##Tag: test
+
+%{?dtag: %{expand: %%define %dtag 1}}
+
+%define _without_ruby 1
+
+#{?el3:#define _without_swig 1}
+%{?rh9:%define _without_pie 1}
+%{?rh9:%define _without_swig 1}
+%{?rh7:%define _without_pie 1}
+%{?rh7:%define _without_swig 1}
+%{?el2:%define _without_pie 1}
+%{?el2:%define _without_swig 1}
+
+%define swig_version 1.3.25
+
+# set to zero to avoid running test suite
+%define make_check 0
+
+%define perl_vendorarch %(eval "`%{__perl} -V:installvendorarch`"; echo $installvendorarch)
+%define python_sitearch %(%{__python} -c 'from distutils import sysconfig; print sysconfig.get_python_lib(1)')
+%define ruby_sitearch %(ruby -rrbconfig -e 'puts Config::CONFIG["sitearchdir"]')
+
+Summary: Modern Version Control System designed to replace CVS
+Name: subversion
+Version: 1.4.6
+### FC3 comes with release 1.1
+Release: 0.1
+License: BSD
+Group: Development/Tools
+URL: http://subversion.tigris.org/
+
+Source0: http://subversion.tigris.org/tarballs/subversion-%{version}.tar.bz2
+Source1: subversion.conf
+Source3: filter-requires.sh
+Source4: http://www.xsteve.at/prg/emacs/psvn.el
+Source10: http://dl.sf.net/swig/swig-%{swig_version}.tar.gz
+#Patch1: subversion-0.24.2-swig.patch
+Patch2: subversion-0.20.1-deplibs.patch
+Patch3: subversion-0.31.0-rpath.patch
+Patch6: subversion-1.4.2-pie.patch
+Patch7: subversion-1.1.3-java.patch
+Patch8: subversion-1.4.4-macropen.patch
+Patch9: subversion-1.4.4-swig1333.patch
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
+
+BuildRequires: autoconf, libtool, python, python-devel, texinfo, which
+BuildRequires: db4-devel >= 4.1.25, expat-devel, docbook-style-xsl, gettext
+BuildRequires: apr-util-devel >= 0.9.3-2, openssl-devel
+BuildRequires: apr-devel >= 0.9.4
+BuildRequires: neon-devel >= 0.24.7-1
+#%{!?_without_swig:BuildRequires: swig >= 1.3.21-5}
+#%{!?_without_swig:BuildRequires: swig}
+
+Provides: python-subversion = %{version}-%{release}
+Provides: subversion-python = %{version}-%{release}
+
+%define __perl_requires %{SOURCE3}
+
+# Put Python bindings in site-packages
+%define swigdirs swig_pydir=%{python_sitearch}/libsvn swig_pydir_extra=%{python_sitearch}/svn
+
+%description
+Subversion is a concurrent version control system which enables one
+or more users to collaborate in developing and maintaining a
+hierarchy of files and directories while keeping a history of all
+changes. Subversion only stores the differences between versions,
+instead of every complete file. Subversion is intended to be a
+compelling replacement for CVS.
+
+%package devel
+Group: Development/Tools
+Summary: Development package for Subversion developers.
+Requires: subversion = %{version}-%{release}, apr-devel, apr-util-devel
+
+%description devel
+The subversion-devel package includes the static libraries and
+include files for developers interacting with the subversion
+package.
+
+%package -n mod_dav_svn
+Group: System Environment/Daemons
+Summary: Apache server module for Subversion server.
+Requires: httpd-mmn = %(cat %{_includedir}/httpd/.mmn || echo missing)
+Requires: subversion = %{version}-%{release}
+BuildRequires: httpd-devel >= 2.0.45
+
+%description -n mod_dav_svn
+The mod_dav_svn package allows access to a Subversion repository
+using HTTP, via the Apache httpd server.
+
+%package perl
+Group: Development/Libraries
+Summary: Perl bindings to the Subversion libraries
+BuildRequires: perl >= 2:5.8.0, perl(ExtUtils::MakeMaker)
+Requires: %(eval `perl -V:version`; echo "perl(:MODULE_COMPAT_$version)")
+Requires: subversion = %{version}-%{release}
+
+%description perl
+This package includes the Perl bindings to the Subversion libraries.
+
+%package javahl
+Group: Development/Libraries
+Summary: JNI bindings to the Subversion libraries
+Requires: subversion = %{version}-%{release}
+%{?_with_java:BuildRequires: java-devel}
+
+%description javahl
+This package includes the JNI bindings to the Subversion libraries.
+
+%package ruby
+Group: Development/Libraries
+Summary: Ruby bindings to the Subversion libraries
+%{!?_without_ruby:BuildRequires: ruby-devel >= 1.8.2, ruby >= 1.8.2}
+Requires: subversion = %{version}-%{release}, ruby-libs >= 1.8.2
+Requires: ruby(abi) = 1.8
+
+%description ruby
+This package includes the Ruby bindings to the Subversion libraries.
+
+%prep
+%setup -a 10
+#patch1 -p1 -b .swig
+%patch2 -p1 -b .deplibs
+%patch3 -p1 -b .rpath
+%{!?_without_pie:%patch6 -p1 -b .pie}
+%{?_with_java:%patch7 -p1 -b .java}
+%patch8 -p1 -b .macropen
+%patch9 -p1 -b .swig133
+
+%{__rm} -rf neon apr apr-util
+
+echo _without_swig: %_without_swig
+echo _without_pie: %_without_pie
+echo dtag: %dtag
+
+%build
+%if %{!?_without_swig:1}0
+cd swig-%{swig_version}
+[ ! -r configure ] && ./autogen.sh
+%configure --prefix="$(pwd)/install" --exec-prefix="$(pwd)/install" --bindir="$(pwd)/install/bin" --datadir="$(pwd)/install/share"
+%{__make}
+%{__make} install
+cd -
+%endif
+
+./autogen.sh
+
+# requirement for apr 0.9.7 seems to be bogus
+%{__perl} -pi.orig -e 's/\.\[7-9\]/\.\[4-9\]/' configure
+
+# fix shebang lines, #111498
+%{__perl} -pi -e 's|/usr/bin/env perl -w|/usr/bin/perl -w|' tools/hook-scripts/*.pl.in
+
+# override weird -shrext from ruby
+export svn_cv_ruby_link="%{__cc} -shared"
+export svn_cv_ruby_sitedir_libsuffix=""
+export svn_cv_ruby_sitedir_archsuffix=""
+
+export CC=gcc CXX=g++
+#export CPPFLAGS="-DSVN_NEON_0_26 -DSVN_NEON_0_25"
+%configure \
+ --disable-mod-activation \
+ --disable-static \
+ --with-apr="%{_prefix}" \
+ --with-apr-util="%{_prefix}" \
+ --with-apxs="%{_sbindir}/apxs" \
+ --with-expat \
+ --with-neon="%{_prefix}" \
+ --with-ruby-sitedir="%{ruby_sitearch}" \
+ --with-ssl \
+ --with-swig \
+%{!?_without_swig:--with-swig="swig-%{swig_version}/install"}
+# --disable-neon-version-check \
+# 1.3.0 tarball ships with generated swig sources
+#%{__make} extraclean-swig-headers swig-headers
+%{__make} %{?_smp_mflags} all
+
+%if %{!?_without_swig:1}0
+%{__make} %{?_smp_mflags} swig-py swig-py-lib %{swigdirs}
+%{__make} %{?_smp_mflags} swig-pl swig-pl-lib
+%{!?_without_ruby:%{__make} %{?_smp_mflags} swig-rb swig-rb-lib}
+%{?_with_java:%{_make} %{?_smp_mflags} javahl}
+%endif
+
+%install
+%{__rm} -rf %{buildroot}
+%{__make} install DESTDIR="%{buildroot}"
+
+%if %{!?_without_swig:1}0
+%{__make} install-swig-py %{swigdirs} DESTDIR="%{buildroot}"
+%{__make} install-swig-pl-lib %{swigdirs} DESTDIR="%{buildroot}"
+%{!?_without_ruby:%{__make} install-swig-rb %{swigdirs} DESTDIR="%{buildroot}"}
+%{?_with_java:%{__make} install-javahl DESTDIR="%{buildroot}"}
+
+%{__make} pure_vendor_install -C subversion/bindings/swig/perl/native \
+ PERL_INSTALL_ROOT="%{buildroot}"
+%endif
+
+%{__install} -d -m0755 %{buildroot}%{_sysconfdir}/subversion
+
+# Add subversion.conf configuration file into httpd/conf.d directory.
+%{__install} -Dp -m0644 %{SOURCE1} %{buildroot}%{_sysconfdir}/httpd/conf.d/subversion.conf
+
+# Remove unpackaged files
+%{__rm} -rf %{buildroot}%{_includedir}/subversion-*/*.txt \
+ %{buildroot}%{python_sitearch}/*/*.{a,la}
+
+%if %{!?_without_swig:1}0
+# remove stuff produced with Perl modules
+find %{buildroot} -type f \
+ -a \( -name .packlist -o \( -name '*.bs' -a -empty \) \) \
+ -print0 | xargs -0 rm -f
+
+# make Perl modules writable so they get stripped
+find %{buildroot}%{_libdir}/perl5 -type f -perm 555 -print0 |
+ xargs -0 chmod 0755
+%endif
+
+# unnecessary libraries for swig bindings
+%{__rm} -f %{buildroot}%{_libdir}/libsvn_swig_*.{so,la,a}
+
+# Trim what goes in docdir
+%{__rm} -rf tools/*/*.in tools/test-scripts \
+ doc/book/book/images/images doc/book/book/images/*.ppt
+
+# Install psvn for emacs and xemacs
+%{__install} -Dp -m0644 %{SOURCE4} %{buildroot}%{_datadir}/emacs/site-lisp/psvn.el
+%{__install} -Dp -m0644 %{SOURCE4} %{buildroot}%{_datadir}/xemacs/site-packages/lisp/psvn.el
+
+# Rename authz_svn INSTALL doc for docdir
+ln -f subversion/mod_authz_svn/INSTALL mod_authz_svn-INSTALL
+
+%find_lang %{name}
+
+%if %{make_check}
+%check
+export LANG=C LC_ALL=C
+%{__make} check CLEANUP=yes
+%endif
+
+find tools/ -type f -exec %{__chmod} -x {} \;
+
+%clean
+%{__rm} -rf %{buildroot}
+
+%post -p /sbin/ldconfig
+%postun -p /sbin/ldconfig
+%post perl -p /sbin/ldconfig
+%postun perl -p /sbin/ldconfig
+%{!?_without_ruby:%post ruby -p /sbin/ldconfig}
+%{!?_without_ruby:%postun ruby -p /sbin/ldconfig}
+%{?_with_java:%post javahl -p /sbin/ldconfig}
+%{?_with_java:%postun javahl -p /sbin/ldconfig}
+
+%files -f %{name}.lang
+%defattr(-, root, root, 0755)
+%doc BUGS CHANGES COMMITTERS COPYING HACKING INSTALL README
+%doc mod_authz_svn-INSTALL subversion/LICENSE tools/
+%doc contrib/client-side/svn_load_dirs{.pl,_*,.README}
+%doc %{_mandir}/man1/svn.1*
+%doc %{_mandir}/man1/svnadmin.1*
+%doc %{_mandir}/man1/svndumpfilter.1*
+%doc %{_mandir}/man1/svnlook.1*
+%doc %{_mandir}/man1/svnsync.1*
+%doc %{_mandir}/man1/svnversion.1*
+%doc %{_mandir}/man5/svnserve.conf.5*
+%doc %{_mandir}/man8/svnserve.8*
+%{_bindir}/svn
+%{_bindir}/svnadmin
+%{_bindir}/svndumpfilter
+%{_bindir}/svnlook
+%{_bindir}/svnserve
+%{_bindir}/svnsync
+%{_bindir}/svnversion
+%{_libdir}/libsvn_*.so.*
+%{_datadir}/emacs/site-lisp/
+%{_datadir}/xemacs/site-packages/lisp/
+%{!?_without_swig:%exclude %{_libdir}/libsvn_swig_perl*}
+%{!?_without_swig:%exclude %{_mandir}/man3/*::*.3pm*}
+%{!?_without_swig:%{python_sitearch}/svn/}
+%{!?_without_swig:%{python_sitearch}/libsvn/}
+%{!?_without_ruby:%exclude %{_libdir}/libsvn_swig_ruby*}
+
+%files devel
+%defattr(-, root, root, 0755)
+%{_includedir}/subversion-1/
+%{_libdir}/libsvn_*.la
+%{_libdir}/libsvn_*.so
+%{!?_without_swig:%exclude %{_libdir}/libsvn_swig_perl*}
+
+%files -n mod_dav_svn
+%defattr(-, root, root, 0755)
+%config(noreplace) %{_sysconfdir}/httpd/conf.d/subversion.conf
+%{_libdir}/httpd/modules/mod_dav_svn.so
+%{_libdir}/httpd/modules/mod_authz_svn.so
+
+%if %{!?_without_swig:1}0
+%files perl
+%defattr(-, root, root, 0755)
+%doc %{_mandir}/man3/*::*.3pm*
+%{perl_vendorarch}/auto/SVN/
+%{perl_vendorarch}/SVN/
+%{_libdir}/libsvn_swig_perl*
+%endif
+
+%if {!?_without_ruby:1}0
+%files ruby
+%defattr(-, root, root, 0755)
+%{_libdir}/libsvn_swig_ruby*
+%{ruby_sitearch}/svn/
+%endif
+
+%if %{?_with_java:1}0
+%files javahl
+%defattr(-, root, root, 0755)
+%{_libdir}/libsvnjavahl-1.*
+%{_libdir}/svn-javahl/
+%endif
+
+%changelog
+* Mon Dec 31 2007 Dag Wieers <dag at wieers.com> - 1.4.6-0.1
+- Updated to release 1.4.6.
+
+* Mon Jul 02 2007 Dag Wieers <dag at wieers.com> - 1.4.4-0.1
+- Updated to release 1.4.4.
+
+* Thu Jan 25 2007 Dag Wieers <dag at wieers.com> - 1.4.3-0.1
+- Updated to release 1.4.3.
+
+* Wed Nov 08 2006 Dag Wieers <dag at wieers.com> - 1.4.2-0.1
+- Updated to release 1.4.2.
+
+* Tue Aug 01 2006 Dag Wieers <dag at wieers.com> - 1.3.2-0.1
+- Updated to release 1.3.2.
+
+* Wed Jul 13 2005 Dag Wieers <dag at wieers.com> - 1.2.1-0.1
+- Updated to release 1.2.1.
+
+* Mon Jun 06 2005 Dag Wieers <dag at wieers.com> - 1.2.0-0.2
+- Moved perl examples to subversion-perl.
+
+* Sat Jun 04 2005 Dag Wieers <dag at wieers.com> - 1.2.0-0.1
+- Updated to release 1.2.0.
+
+* Tue Apr 05 2005 Dag Wieers <dag at wieers.com> - 1.1.4-0.1
+- Updated to release 1.1.4.
+
+* Sat Jan 15 2005 Dag Wieers <dag at wieers.com> - 1.1.3-0.1
+- Updated to release 1.1.3.
+
+* Tue Jan 04 2005 Dag Wieers <dag at wieers.com> - 1.1.2-0.1
+- Updated to release 1.1.2.
+
+* Sat Dec 04 2004 Dag Wieers <dag at wieers.com> - 1.1.1-0.1
+- Updated to release 1.1.1.
+
+* Mon Nov 01 2004 Dag Wieers <dag at wieers.com> - 1.0.9-2
+- Backported changes from Red Hat's EL3 packages. (Joe Orton)
+
+* Mon Nov 01 2004 Dag Wieers <dag at wieers.com> - 1.0.9-1
+- Updated to release 1.0.9.
+
+* Thu Sep 23 2004 Dag Wieers <dag at wieers.com> - 1.0.8-1
+- Updated to release 1.0.8.
+
+* Wed Sep 22 2004 Dag Wieers <dag at wieers.com> - 1.0.7-1
+- Updated to release 1.0.7.
+
+* Fri Jun 11 2004 Dag Wieers <dag at wieers.com> - 1.0.5-1
+- Updated to release 1.0.5.
+
+* Sat May 22 2004 Dag Wieers <dag at wieers.com> - 1.0.4-1
+- Updated to release 1.0.4.
+
+* Fri May 21 2004 Joe Orton <jorton at redhat.com> 1.0.3-2
+- build /usr/bin/* as PIEs
+- add fix for libsvn_client symbol namespace violation (r9608)
+
+* Wed May 19 2004 Joe Orton <jorton at redhat.com> 1.0.3-1
+- update to 1.0.3
+
+* Sun May 16 2004 Joe Orton <jorton at redhat.com> 1.0.2-3
+- add ldconfig invocations for -perl post/postun (Ville Skyttä)
+
+* Tue May 4 2004 Joe Orton <jorton at redhat.com> 1.0.2-2
+- add perl MODULE_COMPAT requirement for -perl subpackage
+- move perl man pages into -perl subpackage
+- clean up -perl installation and dependencies (Ville Skyttä, #123045)
+
+* Mon Apr 19 2004 Joe Orton <jorton at redhat.com> 1.0.2-1
+- update to 1.0.2
+
+* Fri Mar 12 2004 Joe Orton <jorton at redhat.com> 1.0.1-1
+- update to 1.0.1; cvs2svn no longer included
+
+* Fri Mar 12 2004 Joe Orton <jorton at redhat.com> 1.0.0-3
+- add -perl subpackage for Perl bindings (steve at silug.org)
+- include mod_authz_svn INSTALL file
+
+* Tue Mar 02 2004 Elliot Lee <sopwith at redhat.com> 1.0.0-2.1
+- rebuilt
+
+* Wed Feb 25 2004 Joe Orton <jorton at redhat.com> 1.0.0-2
+- add fix for lack of apr_dir_read ordering guarantee (Philip Martin)
+- enable compression in ra_dav by default (Tobias Ringström)
+
+* Mon Feb 23 2004 Joe Orton <jorton at redhat.com> 1.0.0-1
+- update to one-dot-oh
+
+* Fri Feb 13 2004 Elliot Lee <sopwith at redhat.com> 0.37.0-2
+- rebuilt
+
+* Sat Jan 24 2004 Joe Orton <jorton at redhat.com> 0.37.0-1
+- update to 0.37.0
+
+* Tue Jan 13 2004 Joe Orton <jorton at redhat.com> 0.36.0-1
+- update to 0.36.0
+
+* Thu Jan 8 2004 Joe Orton <jorton at redhat.com> 0.35.1-1
+- update to 0.35.1
+- fix shebang lines in hook scripts (#111498)
+
+* Sat Dec 13 2003 Jeff Johnson <jbj at jbj.org> 0.34.0-3
+- rebuild against db-4.2.52.
+
+* Thu Dec 4 2003 Joe Orton <jorton at redhat.com> 0.34.0-2
+- package al