this patch removes the functionality that depends on sun rpc, which either cannot be implemented using the portablexdr rpc replacement library, or depend on the host rpcgen utility to generate some headers and source files. it should be possible to build some of the disabled files (for example decoding of NFS packets) with rpcgen installed on the host; however i think it's too much of a burden to force the crosscompile user to install portablexdr on his host as well (to get the utility). a viable alternative could be to generate those files on a host with rpcgen installed and ship them together with the package. there's still functionality using rpc enabled, since the entire file logging infrastructure uses xdr structures and functions to store records, fortunately this functionality is provided by portablexdr. additionally it disables build of the obsolete sshmitm utility. obsolete because noone uses SSHv1 anymore. the reason for disabling it is that it uses deprecated DES functions/types from openssh which are disabled in our build, causing the build to fail. --- dsniff-2.4.org/Makefile.in 2014-08-13 00:44:31.072293717 +0200 +++ dsniff-2.4/Makefile.in 2014-08-13 01:44:17.556299388 +0200 @@ -47,28 +47,26 @@ RANLIB = @RANLIB@ HDRS = asn1.h base64.h buf.h decode.h hex.h magic.h options.h \ - pathnames.h pcaputil.h record.h rpc.h tcp_raw.h trigger.h \ + pathnames.h pcaputil.h record.h tcp_raw.h trigger.h \ version.h vroot.h -SRCS = asn1.c base64.c buf.c hex.c magic.c mount.c pcaputil.c rpc.c \ +SRCS = asn1.c base64.c buf.c hex.c magic.c pcaputil.c \ tcp_raw.c trigger.c record.c dsniff.c decode.c decode_aim.c \ decode_citrix.c decode_cvs.c decode_ftp.c decode_hex.c \ decode_http.c decode_icq.c decode_imap.c decode_irc.c \ - decode_ldap.c decode_mmxp.c decode_mountd.c decode_napster.c \ + decode_ldap.c decode_mmxp.c decode_napster.c \ decode_nntp.c decode_oracle.c decode_ospf.c decode_pcanywhere.c \ - decode_pop.c decode_portmap.c decode_postgresql.c decode_pptp.c \ + decode_pop.c decode_postgresql.c decode_pptp.c \ decode_rip.c decode_rlogin.c decode_smb.c decode_smtp.c \ decode_sniffer.c decode_snmp.c decode_socks.c decode_tds.c \ - decode_telnet.c decode_vrrp.c decode_yp.c decode_x11.c - -GEN = mount.h mount.c nfs_prot.h nfs_prot.c + decode_telnet.c decode_vrrp.c decode_x11.c OBJS = $(SRCS:.c=.o) LIBOBJS = dummy.o @LIBOBJS@ -PROGS = arpspoof dnsspoof dsniff filesnarf macof mailsnarf msgsnarf \ - sshmitm sshow tcpkill tcpnice @TCPHIJACK@ urlsnarf webmitm @WEBSPY@ +PROGS = arpspoof dnsspoof dsniff macof mailsnarf msgsnarf \ + sshow tcpkill tcpnice @TCPHIJACK@ urlsnarf webmitm @WEBSPY@ CONFIGS = dsniff.magic dsniff.services dnsspoof.hosts @@ -77,14 +75,6 @@ all: libmissing.a $(PROGS) -mount.c: mount.x - rpcgen -h mount.x -o mount.h - rpcgen -c mount.x -o mount.c - -nfs_prot.c: nfs_prot.x - rpcgen -h nfs_prot.x -o nfs_prot.h - rpcgen -c nfs_prot.x -o nfs_prot.c - $(LIBOBJS): $(CC) $(CFLAGS) $(INCS) -c $(srcdir)/missing/$*.c --- dsniff-2.4.org/decode.c 2014-08-13 00:44:31.073293717 +0200 +++ dsniff-2.4/decode.c 2014-08-13 01:55:45.228300475 +0200 @@ -53,6 +53,12 @@ extern int decode_vrrp(u_char *, int, u_char *, int); extern int decode_ypserv(u_char *, int, u_char *, int); extern int decode_yppasswd(u_char *, int, u_char *, int); +#ifndef HAVE_RPC +int decode_portmap(u_char *a, int d, u_char *b, int c) {return 0;} +int decode_mountd(u_char *a, int d, u_char *b, int c) {return 0;} +int decode_ypserv(u_char *a, int d, u_char *b, int c) {return 0;} +int decode_yppasswd(u_char *a, int d, u_char *b, int c) {return 0;} +#endif static struct decode decodes[] = { { "hex", decode_hex },