diff options
author | Waldemar Brodkorb <wbx@openadk.org> | 2009-12-11 13:16:37 +0100 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2009-12-11 13:16:37 +0100 |
commit | 8c45eacba4fa94578529e315df3330d0bfd2e7b3 (patch) | |
tree | c3849fccac5777c233bc75d50542287983edc6d7 /package/dsniff | |
parent | 192d96ee05fb8aa253c94a3504cada2d37a94291 (diff) |
fix compile with libnet 1.1.x, from macports
Diffstat (limited to 'package/dsniff')
21 files changed, 2435 insertions, 21 deletions
diff --git a/package/dsniff/Makefile b/package/dsniff/Makefile index 276e5fc13..bd54813c5 100644 --- a/package/dsniff/Makefile +++ b/package/dsniff/Makefile @@ -7,7 +7,7 @@ PKG_NAME:= dsniff PKG_VERSION:= 2.4b1 PKG_RELEASE:= 2 PKG_MD5SUM:= 2f761fa3475682a7512b0b43568ee7d6 -PKG_DESCR:= collection of tools for network auditing and penetration testing +PKG_DESCR:= tools for network auditing and penetration testing PKG_SECTION:= net PKG_DEPENDS:= libnet libpcap libnids libopenssl libgdbm PKG_URL:= http://www.monkey.org/~dugsong/dsniff @@ -17,9 +17,9 @@ WRKDIST= ${WRKDIR}/${PKG_NAME}-2.4 include ${TOPDIR}/mk/package.mk -$(eval $(call PKG_template,DSNIFF,dsniff,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) +$(eval $(call PKG_template,DSNIFF,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) -CONFIGURE_STYLE= gnu +CONFIGURE_STYLE:= gnu CONFIGURE_ENV+= ac_cv_lib_nsl_gethostbyname=no CONFIGURE_ARGS+= --without-db \ --without-x \ @@ -28,8 +28,8 @@ CONFIGURE_ARGS+= --without-db \ --with-libpcap="${STAGING_DIR}/usr" \ --with-libnet="${STAGING_DIR}/usr" \ --with-openssl="${STAGING_DIR}/usr" -BUILD_STYLE= auto -INSTALL_STYLE= auto +BUILD_STYLE:= auto +INSTALL_STYLE:= auto FAKE_FLAGS+= install_prefix="${WRKINST}" post-install: diff --git a/package/dsniff/patches/patch-arpspoof_c b/package/dsniff/patches/patch-arpspoof_c index 8f04ee1c1..6d8a6a35c 100644 --- a/package/dsniff/patches/patch-arpspoof_c +++ b/package/dsniff/patches/patch-arpspoof_c @@ -1,7 +1,93 @@ -$Id$ --- dsniff-2.4.orig/arpspoof.c 2001-03-15 09:32:58.000000000 +0100 -+++ dsniff-2.4/arpspoof.c 2007-01-23 00:20:48.000000000 +0100 -@@ -113,7 +113,7 @@ arp_find(in_addr_t ip, struct ether_addr ++++ dsniff-2.4/arpspoof.c 2009-12-11 13:14:45.000000000 +0100 +@@ -14,6 +14,7 @@ + #include <sys/types.h> + #include <sys/param.h> + #include <netinet/in.h> ++#include <netinet/if_ether.h> + + #include <stdio.h> + #include <string.h> +@@ -25,9 +26,9 @@ + #include "arp.h" + #include "version.h" + +-extern char *ether_ntoa(struct ether_addr *); ++//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 +42,49 @@ usage(void) + } + + 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__ +@@ -113,13 +116,13 @@ arp_find(in_addr_t ip, struct ether_addr int i = 0; do { @@ -10,3 +96,77 @@ $Id$ return (1); #ifdef __linux__ /* 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 +139,9 @@ cleanup(int sig) + 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 +154,8 @@ main(int argc, char *argv[]) + { + 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 +167,7 @@ main(int argc, char *argv[]) + 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 +180,26 @@ main(int argc, char *argv[]) + 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); + } diff --git a/package/dsniff/patches/patch-dnsspoof_c b/package/dsniff/patches/patch-dnsspoof_c new file mode 100644 index 000000000..6616431a1 --- /dev/null +++ b/package/dsniff/patches/patch-dnsspoof_c @@ -0,0 +1,149 @@ +--- dsniff-2.4.orig/dnsspoof.c 2001-03-15 09:33:03.000000000 +0100 ++++ dsniff-2.4/dnsspoof.c 2009-12-11 12:41:53.000000000 +0100 +@@ -38,7 +38,7 @@ SLIST_HEAD(, dnsent) dns_entries; + + 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 @@ static void + 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 @@ dns_lookup_ptr(const char *name) + 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 @@ dns_spoof(u_char *u, const struct pcap_p + 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 @@ dns_spoof(u_char *u, const struct pcap_p + 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 @@ dns_spoof(u_char *u, const struct pcap_p + 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 @@ main(int argc, char *argv[]) + 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 @@ main(int argc, char *argv[]) + 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 @@ main(int argc, char *argv[]) + 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); diff --git a/package/dsniff/patches/patch-dsniff_services b/package/dsniff/patches/patch-dsniff_services deleted file mode 100644 index 7b4827426..000000000 --- a/package/dsniff/patches/patch-dsniff_services +++ /dev/null @@ -1,9 +0,0 @@ -$Id$ ---- dsniff-2.4.orig/dsniff.services 2000-12-15 21:10:58.000000000 +0100 -+++ dsniff-2.4/dsniff.services 2007-01-23 00:20:48.000000000 +0100 -@@ -66,5 +66,3 @@ napster 8888/tcp - aim 9898/tcp - pcanywhere 65301/tcp - mountd 100005/rpc --ypserv 100004/rpc --yppasswd 100009/rpc diff --git a/package/dsniff/patches/patch-filesnarf_c b/package/dsniff/patches/patch-filesnarf_c new file mode 100644 index 000000000..fd71816e9 --- /dev/null +++ b/package/dsniff/patches/patch-filesnarf_c @@ -0,0 +1,22 @@ +--- dsniff-2.4.orig/filesnarf.c 2001-03-15 09:33:03.000000000 +0100 ++++ dsniff-2.4/filesnarf.c 2009-12-11 12:54:55.000000000 +0100 +@@ -134,8 +134,8 @@ nfs_save(struct tuple4 *addr, struct myr + 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 @@ decode_nfs(struct tuple4 *addr, u_char * + } + + 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; diff --git a/package/dsniff/patches/patch-macof_c b/package/dsniff/patches/patch-macof_c new file mode 100644 index 000000000..d8121b908 --- /dev/null +++ b/package/dsniff/patches/patch-macof_c @@ -0,0 +1,116 @@ +--- dsniff-2.4.orig/macof.c 2001-03-15 09:33:04.000000000 +0100 ++++ dsniff-2.4/macof.c 2009-12-11 12:56:13.000000000 +0100 +@@ -48,8 +48,8 @@ usage(void) + 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 @@ main(int argc, char *argv[]) + 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 @@ main(int argc, char *argv[]) + 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 @@ main(int argc, char *argv[]) + 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); + } diff --git a/package/dsniff/patches/patch-mount_c b/package/dsniff/patches/patch-mount_c new file mode 100644 index 000000000..513d906d5 --- /dev/null +++ b/package/dsniff/patches/patch-mount_c @@ -0,0 +1,100 @@ +--- dsniff-2.4.orig/mount.c 1970-01-01 00:00:00.000000000 +0100 ++++ dsniff-2.4/mount.c 2009-12-11 12:42:08.000000000 +0100 +@@ -0,0 +1,97 @@ ++/* ++ * Please do not edit this file. ++ * It was generated using rpcgen. ++ */ ++ ++#include "mount.h" ++ ++bool_t ++xdr_fhandle (XDR *xdrs, fhandle objp) ++{ ++ register int32_t *buf; ++ ++ if (!xdr_opaque (xdrs, objp, FHSIZE)) ++ return FALSE; ++ return TRUE; ++} ++ ++bool_t ++xdr_fhandle3 (XDR *xdrs, fhandle3 *objp) ++{ ++ register int32_t *buf; ++ ++ if (!xdr_bytes (xdrs, (char **)&objp->fhandle3_val, (u_int *) &objp->fhandle3_len, FHSIZE3)) ++ return FALSE; ++ return TRUE; ++} ++ ++bool_t ++xdr_fhstatus (XDR *xdrs, fhstatus *objp) ++{ ++ register int32_t *buf; ++ ++ if (!xdr_u_int (xdrs, &objp->fhs_status)) ++ return FALSE; ++ switch (objp->fhs_status) { ++ case 0: ++ if (!xdr_fhandle (xdrs, objp->fhstatus_u.fhs_fhandle)) ++ return FALSE; ++ break; ++ default: ++ break; ++ } ++ return TRUE; ++} ++ ++#define fhs_fh fhstatus_u.fhs_fhandle ++ ++bool_t ++xdr_mountstat3 (XDR *xdrs, mountstat3 *objp) ++{ ++ register int32_t *buf; ++ ++ if (!xdr_enum (xdrs, (enum_t *) objp)) ++ return FALSE; ++ return TRUE; ++} ++ ++bool_t ++xdr_mountres3_ok (XDR *xdrs, mountres3_ok *objp) ++{ ++ register int32_t *buf; ++ ++ if (!xdr_fhandle3 (xdrs, &objp->fhandle)) ++ return FALSE; ++ if (!xdr_array (xdrs, (char **)&objp->auth_flavors.auth_flavors_val, (u_int *) &objp->auth_flavors.auth_flavors_len, ~0, ++ sizeof (int), (xdrproc_t) xdr_int)) ++ return FALSE; ++ return TRUE; ++} ++ ++bool_t ++xdr_mountres3 (XDR *xdrs, mountres3 *objp) ++{ ++ register int32_t *buf; ++ ++ if (!xdr_mountstat3 (xdrs, &objp->fhs_status)) ++ return FALSE; ++ switch (objp->fhs_status) { ++ case MNT_OK: ++ if (!xdr_mountres3_ok (xdrs, &objp->mountres3_u.mountinfo)) ++ return FALSE; ++ break; ++ default: ++ break; ++ } ++ return TRUE; ++} ++ ++bool_t ++xdr_dirpath (XDR *xdrs, dirpath *objp) ++{ ++ register int32_t *buf; ++ ++ if (!xdr_string (xdrs, objp, MNTPATHLEN)) ++ return FALSE; ++ return TRUE; ++} diff --git a/package/dsniff/patches/patch-mount_h b/package/dsniff/patches/patch-mount_h new file mode 100644 index 000000000..bc8629664 --- /dev/null +++ b/package/dsniff/patches/patch-mount_h @@ -0,0 +1,154 @@ +--- dsniff-2.4.orig/mount.h 1970-01-01 00:00:00.000000000 +0100 ++++ dsniff-2.4/mount.h 2009-12-11 12:42:08.000000000 +0100 +@@ -0,0 +1,151 @@ ++/* ++ * Please do not edit this file. ++ * It was generated using rpcgen. ++ */ ++ ++#ifndef _MOUNT_H_RPCGEN ++#define _MOUNT_H_RPCGEN ++ ++#include <rpc/rpc.h> ++ ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++#define MNTPATHLEN 1024 ++#define MNTNAMLEN 255 ++#define FHSIZE 32 ++#define FHSIZE3 64 ++ ++typedef char fhandle[FHSIZE]; ++ ++typedef struct { ++ u_int fhandle3_len; ++ char *fhandle3_val; ++} fhandle3; ++ ++struct fhstatus { ++ u_int fhs_status; ++ union { ++ fhandle fhs_fhandle; ++ } fhstatus_u; ++}; ++typedef struct fhstatus fhstatus; ++ ++#define fhs_fh fhstatus_u.fhs_fhandle ++ ++enum mountstat3 { ++ MNT_OK = 0, ++ MNT3ERR_PERM = 1, ++ MNT3ERR_NOENT = 2, ++ MNT3ERR_IO = 5, ++ MNT3ERR_ACCES = 13, ++ MNT3ERR_NOTDIR = 20, ++ MNT3ERR_INVAL = 22, ++ MNT3ERR_NAMETOOLONG = 63, ++ MNT3ERR_NOTSUPP = 10004, ++ MNT3ERR_SERVERFAULT = 10006, ++}; ++typedef enum mountstat3 mountstat3; ++ ++struct mountres3_ok { ++ fhandle3 fhandle; ++ struct { ++ u_int auth_flavors_len; ++ int *auth_flavors_val; ++ } auth_flavors; ++}; ++typedef struct mountres3_ok mountres3_ok; ++ ++struct mountres3 { ++ mountstat3 fhs_status; ++ union { ++ mountres3_ok mountinfo; ++ } mountres3_u; ++}; ++typedef struct mountres3 mountres3; ++ ++typedef char *dirpath; ++ ++#define MOUNTPROG 100005 ++#define MOUNTVERS 1 ++ ++#if defined(__STDC__) || defined(__cplusplus) ++#define MOUNTPROC_NULL 0 ++extern void * mountproc_null_1(void *, CLIENT *); ++extern void * mountproc_null_1_svc(void *, struct svc_req *); ++#define MOUNTPROC_MNT 1 ++extern fhstatus * mountproc_mnt_1(dirpath *, CLIENT *); ++extern fhstatus * mountproc_mnt_1_svc(dirpath *, struct svc_req *); ++extern int mountprog_1_freeresult (SVCXPRT *, xdrproc_t, caddr_t); ++ ++#else /* K&R C */ ++#define MOUNTPROC_NULL 0 ++extern void * mountproc_null_1(); ++extern void * mountproc_null_1_svc(); ++#define MOUNTPROC_MNT 1 ++extern fhstatus * mountproc_mnt_1(); ++extern fhstatus * mountproc_mnt_1_svc(); ++extern int mountprog_1_freeresult (); ++#endif /* K&R C */ ++#define MOUNTVERS_POSIX 2 ++ ++#if defined(__STDC__) || defined(__cplusplus) ++extern void * mountproc_null_2(void *, CLIENT *); ++extern void * mountproc_null_2_svc(void *, struct svc_req *); ++extern fhstatus * mountproc_mnt_2(dirpath *, CLIENT *); ++extern fhstatus * mountproc_mnt_2_svc(dirpath *, struct svc_req *); ++extern int mountprog_2_freeresult (SVCXPRT *, xdrproc_t, caddr_t); ++ ++#else /* K&R C */ ++extern void * mountproc_null_2(); ++extern void * mountproc_null_2_svc(); ++extern fhstatus * mountproc_mnt_2(); ++extern fhstatus * mountproc_mnt_2_svc(); ++extern int mountprog_2_freeresult (); ++#endif /* K&R C */ ++#define MOUNTVERS3 3 ++ ++#if defined(__STDC__) || defined(__cplusplus) ++extern void * mountproc_null_3(void *, CLIENT *); ++extern void * mountproc_null_3_svc(void *, struct svc_req *); ++extern mountres3 * mountproc_mnt_3(dirpath *, CLIENT *); ++extern mountres3 * mountproc_mnt_3_svc(dirpath *, struct svc_req *); ++extern int mountprog_3_freeresult (SVCXPRT *, xdrproc_t, caddr_t); ++ ++#else /* K&R C */ ++extern void * mountproc_null_3(); ++extern void * mountproc_null_3_svc(); ++extern mountres3 * mountproc_mnt_3(); ++extern mountres3 * mountproc_mnt_3_svc(); ++extern int mountprog_3_freeresult (); ++#endif /* K&R C */ ++ ++/* the xdr functions */ ++ ++#if defined(__STDC__) || defined(__cplusplus) ++extern bool_t xdr_fhandle (XDR *, fhandle); ++extern bool_t xdr_fhandle3 (XDR *, fhandle3*); ++extern bool_t xdr_fhstatus (XDR *, fhstatus*); ++extern bool_t xdr_mountstat3 (XDR *, mountstat3*); ++extern bool_t xdr_mountres3_ok (XDR *, mountres3_ok*); ++extern bool_t xdr_mountres3 (XDR *, mountres3*); ++extern bool_t xdr_dirpath (XDR *, dirpath*); ++ ++#else /* K&R C */ ++extern bool_t xdr_fhandle (); ++extern bool_t xdr_fhandle3 (); ++extern bool_t xdr_fhstatus (); ++extern bool_t xdr_mountstat3 (); ++extern bool_t xdr_mountres3_ok (); ++extern bool_t xdr_mountres3 (); ++extern bool_t xdr_dirpath (); ++ ++#endif /* K&R C */ ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif /* !_MOUNT_H_RPCGEN */ diff --git a/package/dsniff/patches/patch-nfs_prot_c b/package/dsniff/patches/patch-nfs_prot_c new file mode 100644 index 000000000..4f137d921 --- /dev/null +++ b/package/dsniff/patches/patch-nfs_prot_c @@ -0,0 +1,740 @@ +--- dsniff-2.4.orig/nfs_prot.c 1970-01-01 00:00:00.000000000 +0100 ++++ dsniff-2.4/nfs_prot.c 2009-12-11 12:53:10.000000000 +0100 +@@ -0,0 +1,737 @@ ++/* ++ * Please do not edit this file. ++ * It was generated using rpcgen. ++ */ ++ ++#include "nfs_prot.h" ++#include "config.h" ++ ++bool_t ++xdr_nfsstat (XDR *xdrs, nfsstat *objp) ++{ ++ register int32_t *buf; ++ ++ if (!xdr_enum (xdrs, (enum_t *) objp)) ++ return FALSE; ++ return TRUE; ++} ++ ++bool_t ++xdr_ftype (XDR *xdrs, ftype *objp) ++{ ++ register int32_t *buf; ++ ++ if (!xdr_enum (xdrs, (enum_t *) objp)) ++ return FALSE; ++ return TRUE; ++} ++ ++bool_t ++xdr_nfs_fh (XDR *xdrs, nfs_fh *objp) ++{ ++ register int32_t *buf; ++ ++ int i; ++ if (!xdr_opaque (xdrs, objp->data, NFS_FHSIZE)) ++ return FALSE; ++ return TRUE; ++} ++ ++bool_t ++xdr_nfstime (XDR *xdrs, nfstime *objp) ++{ ++ register int32_t *buf; ++ ++ if (!xdr_u_int (xdrs, &objp->seconds)) ++ return FALSE; ++ if (!xdr_u_int (xdrs, &objp->useconds)) ++ return FALSE; ++ return TRUE; ++} ++ ++bool_t ++xdr_fattr (XDR *xdrs, fattr *objp) ++{ ++ register int32_t *buf; ++ ++ ++ if (xdrs->x_op == XDR_ENCODE) { ++ if (!xdr_ftype (xdrs, &objp->type)) ++ return FALSE; ++ buf = XDR_INLINE (xdrs, 10 * BYTES_PER_XDR_UNIT); ++ if (buf == NULL) { ++ if (!xdr_u_int (xdrs, &objp->mode)) ++ return FALSE; ++ if (!xdr_u_int (xdrs, &objp->nlink)) ++ return FALSE; ++ if (!xdr_u_int (xdrs, &objp->uid)) ++ return FALSE; ++ if (!xdr_u_int (xdrs, &objp->gid)) ++ return FALSE; ++ if (!xdr_u_int (xdrs, &objp->size)) ++ return FALSE; ++ if (!xdr_u_int (xdrs, &objp->blocksize)) ++ return FALSE; ++ if (!xdr_u_int (xdrs, &objp->rdev)) ++ return FALSE; ++ if (!xdr_u_int (xdrs, &objp->blocks)) ++ return FALSE; ++ if (!xdr_u_int (xdrs, &objp->fsid)) ++ return FALSE; ++ if (!xdr_u_int (xdrs, &objp->fileid)) ++ return FALSE; ++ ++ } else { ++ IXDR_PUT_U_LONG(buf, objp->mode); ++ IXDR_PUT_U_LONG(buf, objp->nlink); ++ IXDR_PUT_U_LONG(buf, objp->uid); ++ IXDR_PUT_U_LONG(buf, objp->gid); ++ IXDR_PUT_U_LONG(buf, objp->size); ++ IXDR_PUT_U_LONG(buf, objp->blocksize); ++ IXDR_PUT_U_LONG(buf, objp->rdev); ++ IXDR_PUT_U_LONG(buf, objp->blocks); ++ IXDR_PUT_U_LONG(buf, objp->fsid); ++ IXDR_PUT_U_LONG(buf, objp->fileid); ++ } ++ if (!xdr_nfstime (xdrs, &objp->atime)) ++ return FALSE; ++ if (!xdr_nfstime (xdrs, &objp->mtime)) ++ return FALSE; ++ if (!xdr_nfstime (xdrs, &objp->ctime)) ++ return FALSE; ++ return TRUE; ++ } else if (xdrs->x_op == XDR_DECODE) { ++ if (!xdr_ftype (xdrs, &objp->type)) ++ return FALSE; ++ buf = XDR_INLINE (xdrs, 10 * BYTES_PER_XDR_UNIT); ++ if (buf == NULL) { ++ if (!xdr_u_int (xdrs, &objp->mode)) ++ return FALSE; ++ if (!xdr_u_int (xdrs, &objp->nlink)) ++ return FALSE; ++ if (!xdr_u_int (xdrs, &objp->uid)) ++ return FALSE; ++ if (!xdr_u_int (xdrs, &objp->gid)) ++ return FALSE; ++ if (!xdr_u_int (xdrs, &objp->size)) ++ return FALSE; ++ if (!xdr_u_int (xdrs, &objp->blocksize)) ++ return FALSE; ++ if (!xdr_u_int (xdrs, &objp->rdev)) ++ return FALSE; ++ if (!xdr_u_int (xdrs, &objp->blocks)) ++ return FALSE; ++ if (!xdr_u_int (xdrs, &objp->fsid)) ++ return FALSE; ++ if (!xdr_u_int (xdrs, &objp->fileid)) ++ return FALSE; ++ ++ } else { ++ objp->mode = IXDR_GET_U_LONG(buf); ++ objp->nlink = IXDR_GET_U_LONG(buf); ++ objp->uid = IXDR_GET_U_LONG(buf); ++ objp->gid = IXDR_GET_U_LONG(buf); ++ objp->size = IXDR_GET_U_LONG(buf); ++ objp->blocksize = IXDR_GET_U_LONG(buf); ++ objp->rdev = IXDR_GET_U_LONG(buf); ++ objp->blocks = IXDR_GET_U_LONG(buf); ++ objp->fsid = IXDR_GET_U_LONG(buf); ++ objp->fileid = IXDR_GET_U_LONG(buf); ++ } |