On Sat, Jun 22, 2013 at 05:24:36PM +0200, Sebastian Reitenbach wrote:
> Hi,
> 
> patch below updates driftnet to 1.0 version. 
> New version is not from the original author, but from a Ubuntu package,
> downloaded from launchpad.
> 
> Notably new features compared to the current version in the ports tree:
>  * PNG image support
>  * IPv6 support
>  * reading from pcap file
> 
> Works for me on amd64 and i386.
> 
> tests, comments or even OKs welcome.

Hey,

I tested the patch on i386, via my amd64 which happens to route
through my i386 laptop.  Works as advertised, i tested png images and
ipv6 support which seems to work fine.  visiting google images search
on my amd64 box and scrolling down was quite a stress test for driftnet
running on my laptop, pictures appeared and left faster than I could
see what they were.  I didn't test pcap files though.

I am inclined to say Ok, but please wait for at least 1 more :)


cheers,

-ryan

> 
> cheers,
> Sebastian
> 
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/x11/driftnet/Makefile,v
> retrieving revision 1.12
> diff -u -p -u -r1.12 Makefile
> --- Makefile  11 Mar 2013 11:46:09 -0000      1.12
> +++ Makefile  22 Jun 2013 12:13:38 -0000
> @@ -1,9 +1,10 @@
> -# $OpenBSD: Makefile,v 1.12 2013/03/11 11:46:09 espie Exp $
> +# $OpenBSD: Makefile,v 1.11 2012/12/23 13:25:11 sthen Exp $
>  
>  COMMENT=     network sniffer that grabs and displays images
>  
> -DISTNAME=    driftnet-0.1.6
> -REVISION=    4
> +VERSION =    1.0
> +DISTNAME=    driftnet_${VERSION}.orig
> +PKGNAME=     driftnet-${VERSION}
>  CATEGORIES=  x11
>  
>  HOMEPAGE=    http://www.ex-parrot.com/~chris/driftnet/
> @@ -13,23 +14,21 @@ MAINTAINER=       Claudio Jeker <claudio@openb
>  # GPL
>  PERMIT_PACKAGE_CDROM=        Yes
>  
> -MASTER_SITES=        http://www.ex-parrot.com/~chris/driftnet/
> +MASTER_SITES=        https://launchpad.net/ubuntu/+archive/primary/+files/
>  
> -WANTLIB += X11 Xcomposite Xcursor Xdamage Xext Xfixes
> -WANTLIB += Xi Xinerama Xrandr Xrender atk-1.0 c cairo expat fontconfig
> -WANTLIB += freetype gio-2.0 glib-2.0 gobject-2.0
> -WANTLIB += m pango-1.0 pangocairo-1.0 pangoft2-1.0 pcap pixman-1
> -WANTLIB += png pthread pthread-stubs xcb z ungif jpeg gdk_pixbuf-2.0
> -WANTLIB += gdk-x11-2.0 gtk-x11-2.0 GL xcb-render xcb-shm
> -
> -MODULES=     devel/gettext
> +WANTLIB += c m pcap gif png pthread z jpeg 
> +WANTLIB += glib-2.0 gobject-2.0 gdk-x11-2.0 gtk-x11-2.0
>  
>  LIB_DEPENDS= graphics/libungif \
>               graphics/jpeg \
>               x11/gtk+2
>  
> -USE_GROFF =  Yes
> -
>  NO_TEST=     Yes
> +
> +WRKDIST =    ${WRKDIR}/${PKGNAME}
> +
> +CONFIGURE_STYLE =    gnu
> +CONFIGURE_ENV =              CPPFLAGS="-I${LOCALBASE}/include/gtk-2.0" \
> +                     LDFLAGS="-L${LOCALBASE}/lib -L${X11BASE}/lib -lm -lz"
>  
>  .include <bsd.port.mk>
> Index: distinfo
> ===================================================================
> RCS file: /cvs/ports/x11/driftnet/distinfo,v
> retrieving revision 1.1.1.1
> diff -u -p -u -r1.1.1.1 distinfo
> --- distinfo  30 Apr 2007 13:38:50 -0000      1.1.1.1
> +++ distinfo  22 Jun 2013 12:13:38 -0000
> @@ -1,5 +1,2 @@
> -MD5 (driftnet-0.1.6.tar.gz) = jhHXd3BFL5e7PCP1EEiYFQ==
> -RMD160 (driftnet-0.1.6.tar.gz) = AQV/PLmS+qU3qLGI4RbG8hAWz6w=
> -SHA1 (driftnet-0.1.6.tar.gz) = J5yzpZbzVOfpxqw8xFaz0R3O0v8=
> -SHA256 (driftnet-0.1.6.tar.gz) = 299+rTrhSxCfiMht7et1JL6MJXqnc6eBiRIW8BM3PW0=
> -SIZE (driftnet-0.1.6.tar.gz) = 36989
> +SHA256 (driftnet_1.0.orig.tar.gz) = 
> suZ17EyO7BJhmNQBCIC1edcozxflIQbX9A8KE1AA6qc=
> +SIZE (driftnet_1.0.orig.tar.gz) = 151184
> Index: patches/patch-Makefile
> ===================================================================
> RCS file: patches/patch-Makefile
> diff -N patches/patch-Makefile
> --- patches/patch-Makefile    20 Mar 2010 16:52:08 -0000      1.2
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,84 +0,0 @@
> -$OpenBSD: patch-Makefile,v 1.2 2010/03/20 16:52:08 jasper Exp $
> ---- Makefile.orig    Tue Jul  9 21:26:41 2002
> -+++ Makefile Fri Jan 29 16:15:17 2010
> -@@ -16,23 +16,23 @@
> - #CC = gcc
> - 
> - # Basic compiler, linker flags; should not need any changes.
> --CFLAGS += -g -Wall
> --LDFLAGS += -g
> -+#CFLAGS += -g -Wall
> -+#LDFLAGS += -g
> - 
> - # You might need these if libpcap is installed somewhere random.
> --CFLAGS += -I/usr/include/pcap
> -+CFLAGS += -I/usr/local/include
> - #LDFLAGS += -L/path/to/libpcap.so
> - 
> - # Required on Linux to get BSDish definitions of the TCP/IP structs.
> --CFLAGS += -D_BSD_SOURCE
> -+#CFLAGS += -D_BSD_SOURCE
> - 
> - # We always need the pcap and pthread libraries.
> --LDLIBS += -lpcap -lpthread
> -+LDLIBS += -lpcap -pthread
> - 
> - # Optional C compiler and linker flags. Typical driftnet builds have support
> - # for displaying captured images in an X window, and need the following 
> flags:
> --CFLAGS  += `gtk-config --cflags`
> --LDLIBS  += -ljpeg -lungif `gtk-config --libs`
> -+CFLAGS  += `pkg-config --cflags gtk+-2.0`
> -+LDLIBS  += -ljpeg -lungif `pkg-config --libs gtk+-2.0`
> - 
> - # Alternatively, you can build a version of driftnet which can only be used
> - # in `adjunct' mode as the back end for some other image-processing 
> program. To
> -@@ -72,23 +72,17 @@ BINS = driftnet
> - 
> - OBJS = $(SRCS:.c=.o)
> - 
> --default: driftnet driftnet.1
> -+all: driftnet driftnet.1
> - 
> --driftnet:   depend $(OBJS)
> -+driftnet:   $(OBJS)
> -     $(CC) -o driftnet $(OBJS) $(LDFLAGS) $(LDLIBS)
> - 
> - driftnet.1: driftnet.1.in Makefile
> -     ( echo '.\" DO NOT EDIT THIS FILE-- edit driftnet.1.in instead' ; sed 
> s/@@@VERSION@@@/$(VERSION)/ ) < driftnet.1.in > driftnet.1
> - 
> --endianness: endian
> --    ./endian > endianness
> -+%.o:    %.c Makefile
> -+    $(CC) $(CFLAGS) -c -o $@ $<
> - 
> --endian: endian.c
> --    $(CC) $(CFLAGS) -o endian endian.c
> --
> --%.o:    %.c Makefile endianness
> --    $(CC) $(CFLAGS) `cat endianness` -c -o $@ $<
> --
> - clean:  nodepend
> -     rm -f *~ *.bak *.o core $(BINS) TAGS driftnet.1 endian endianness
> - 
> -@@ -102,13 +96,19 @@ tarball: nodepend $(SRCS) $(HDRS) $(TXTS)
> -     rm -rf driftnet-$(VERSION)
> -     mv driftnet-$(VERSION).tar.gz ..
> -     
> --depend: endianness
> --    makedepend -- $(CFLAGS) `cat endianness` -- $(SRCS)
> -+depend:
> -+    makedepend -- $(CFLAGS) -- $(SRCS)
> -     touch depend
> -     rm -f Makefile.bak
> - 
> - nodepend:
> -     makedepend -- --
> -     rm -f depend Makefile.bak
> -+
> -+install:
> -+    ${INSTALL} ${INSTALL_COPY} ${INSTALL_STRIP} -o ${BINOWN} -g ${BINGRP} \
> -+        -m ${BINMODE} driftnet ${PREFIX}/bin/driftnet
> -+    ${INSTALL} ${INSTALL_COPY} -o ${MANOWN} -g ${MANGRP} -m ${MANMODE} \
> -+        driftnet.1 ${PREFIX}/man/man1/driftnet.1
> - 
> - # DO NOT DELETE
> Index: patches/patch-Makefile_in
> ===================================================================
> RCS file: patches/patch-Makefile_in
> diff -N patches/patch-Makefile_in
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-Makefile_in 22 Jun 2013 12:13:38 -0000
> @@ -0,0 +1,21 @@
> +$OpenBSD$
> +--- Makefile.in.orig Sun May 12 18:33:18 2013
> ++++ Makefile.in      Fri Jun 21 09:38:27 2013
> +@@ -258,7 +258,7 @@ top_srcdir = @top_srcdir@
> + SUBDIRS = src
> + dist_doc_DATA = README TODO
> + EXTRA_DIST = driftnet.1.in CHANGES CREDITS
> +-MANPAGE = driftnet.1.gz
> ++MANPAGE = driftnet.1
> + MAN1DIR = $(DESTDIR)$(mandir)/man1/
> + all: all-recursive
> + 
> +@@ -773,7 +773,7 @@ clean-local:
> +     rm -f $(MANPAGE)
> + 
> + install-data-local: driftnet.1.in
> +-    cat $(srcdir)/driftnet.1.in | sed s/@*VERSION@*/$(VERSION)/ | 
> GZIP=$(GZIP_ENV) gzip > $(MANPAGE)
> ++    cat $(srcdir)/driftnet.1.in | sed s/@*VERSION@*/$(VERSION)/ > $(MANPAGE)
> +     $(MKDIR_P) $(MAN1DIR)
> +     $(INSTALL_DATA) $(MANPAGE) $(MAN1DIR) || exit $$?
> + 
> Index: patches/patch-img_h
> ===================================================================
> RCS file: patches/patch-img_h
> diff -N patches/patch-img_h
> --- patches/patch-img_h       30 Apr 2007 13:38:50 -0000      1.1.1.1
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,29 +0,0 @@
> -$OpenBSD: patch-img_h,v 1.1.1.1 2007/04/30 13:38:50 claudio Exp $
> ---- img.h.orig       Tue Apr 24 14:45:52 2007
> -+++ img.h    Tue Apr 24 14:47:02 2007
> -@@ -20,13 +20,15 @@
> - #   include <stdint.h>          /* C99 standard */
> - #endif
> - 
> -+#include <sys/endian.h>
> -+
> - #include <stdio.h>
> - 
> - typedef uint8_t chan;
> - typedef uint32_t pel;
> - 
> - /* Yuk. GDKRGB expects data in a specific ordering. */
> --#if defined(DRIFTNET_LITTLE_ENDIAN)
> -+#if defined(_LITTLE_ENDIAN)
> - #   define PEL(r, g, b)        ((pel)((chan)(r) | ((chan)(g) << 8) | 
> ((chan)(b) << 16)))
> - #   define PELA(r, g, b, a)    ((pel)((chan)(r) | ((chan)(g) << 8) | 
> ((chan)(b) << 16) | ((chan)(a) << 24)))
> - 
> -@@ -34,7 +36,7 @@ typedef uint32_t pel;
> - #   define GETG(p)             ((chan)(((p) & (pel)0x0000ff00) >>  8))
> - #   define GETB(p)             ((chan)(((p) & (pel)0x00ff0000) >> 16))
> - #   define GETA(p)             ((chan)(((p) & (pel)0xff000000) >> 24))
> --#elif defined(DRIFTNET_BIG_ENDIAN)
> -+#elif defined(_BIG_ENDIAN)
> - #   define PEL(r, g, b)        ((pel)(((chan)(r) << 24) | ((chan)(g) << 16) 
> | ((chan)(b) << 8)))
> - #   define PELA(r, g, b, a)    ((pel)(((chan)(r) << 24) | ((chan)(g) << 16) 
> | ((chan)(b) << 8) | ((chan)(a))))
> - 
> Index: patches/patch-src_display_img_h
> ===================================================================
> RCS file: patches/patch-src_display_img_h
> diff -N patches/patch-src_display_img_h
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-src_display_img_h   22 Jun 2013 12:13:38 -0000
> @@ -0,0 +1,27 @@
> +$OpenBSD$
> +--- src/display/img.h.orig   Fri Jun 21 08:45:24 2013
> ++++ src/display/img.h        Fri Jun 21 08:46:00 2013
> +@@ -19,11 +19,13 @@
> + 
> + #include <stdio.h>
> + 
> ++#include <sys/endian.h>
> ++
> + typedef uint8_t chan;
> + typedef uint32_t pel;
> + 
> + /* Yuk. GDKRGB expects data in a specific ordering. */
> +-#if defined(DRIFTNET_LITTLE_ENDIAN)
> ++#if defined(LITTLE_ENDIAN)
> + #   define PEL(r, g, b)        ((pel)((chan)(r) | ((chan)(g) << 8) | 
> ((chan)(b) << 16)))
> + #   define PELA(r, g, b, a)    ((pel)((chan)(r) | ((chan)(g) << 8) | 
> ((chan)(b) << 16) | ((chan)(a) << 24)))
> + 
> +@@ -31,7 +33,7 @@ typedef uint32_t pel;
> + #   define GETG(p)             ((chan)(((p) & (pel)0x0000ff00) >>  8))
> + #   define GETB(p)             ((chan)(((p) & (pel)0x00ff0000) >> 16))
> + #   define GETA(p)             ((chan)(((p) & (pel)0xff000000) >> 24))
> +-#elif defined(DRIFTNET_BIG_ENDIAN)
> ++#elif defined(BIG_ENDIAN)
> + #   define PEL(r, g, b)        ((pel)(((chan)(r) << 24) | ((chan)(g) << 16) 
> | ((chan)(b) << 8)))
> + #   define PELA(r, g, b, a)    ((pel)(((chan)(r) << 24) | ((chan)(g) << 16) 
> | ((chan)(b) << 8) | ((chan)(a))))
> + 
> Index: patches/patch-src_display_png_c
> ===================================================================
> RCS file: patches/patch-src_display_png_c
> diff -N patches/patch-src_display_png_c
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-src_display_png_c   22 Jun 2013 12:13:38 -0000
> @@ -0,0 +1,19 @@
> +$OpenBSD$
> +
> +png_set_gray_1_2_4_to_8 doesn't seem to exist in newer
> +png anymore
> +
> +--- src/display/png.c.orig   Fri Jun 21 09:29:56 2013
> ++++ src/display/png.c        Fri Jun 21 09:30:09 2013
> +@@ -132,9 +132,9 @@ int png_load_img(img I) {
> +     /* Convert greyscale images to 8-bit RGB */
> +     if (color_type == PNG_COLOR_TYPE_GRAY ||
> +         color_type == PNG_COLOR_TYPE_GRAY_ALPHA) {
> +-        if (bit_depth < 8) {
> ++        /* if (bit_depth < 8) {
> +             png_set_gray_1_2_4_to_8(png_ptr);
> +-        }
> ++        } */
> +         png_set_gray_to_rgb(png_ptr);
> +     }
> + 
> Index: patches/patch-src_layer2_c
> ===================================================================
> RCS file: patches/patch-src_layer2_c
> diff -N patches/patch-src_layer2_c
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-src_layer2_c        22 Jun 2013 12:13:38 -0000
> @@ -0,0 +1,35 @@
> +$OpenBSD$
> +
> +include the right headers, and define a struct ethhdr
> +like its available on Linux
> +
> +--- src/layer2.c.orig        Fri Jun 21 08:58:51 2013
> ++++ src/layer2.c     Fri Jun 21 09:12:06 2013
> +@@ -3,7 +3,10 @@
> + #include <string.h>
> + #include <assert.h>
> + 
> +-#include <netinet/ether.h>
> ++//#include <netinet/ether.h>
> ++#include <sys/types.h>
> ++#include <netinet/in_systm.h>
> ++#include <netinet/in.h>
> + #include <netinet/ip.h>
> + #include <netinet/ip6.h>
> + 
> +@@ -11,6 +14,15 @@
> + 
> + #include "log.h"
> + #include "layer2.h"
> ++
> ++#define ETH_P_IP        0x0800
> ++#define ETH_P_IPV6      0x86DD
> ++#define ETH_ALEN        6
> ++struct ethhdr {
> ++        unsigned char   h_dest[ETH_ALEN];
> ++        unsigned char   h_source[ETH_ALEN];
> ++        u_int16_t       h_proto;
> ++} __attribute__((packed));
> + 
> + int handle_link_layer(datalink_info_t *info, const u_char *pkt, uint8_t 
> *nextproto,
> +                     int *offsetnext)
> Index: patches/patch-src_layer3_c
> ===================================================================
> RCS file: patches/patch-src_layer3_c
> diff -N patches/patch-src_layer3_c
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-src_layer3_c        22 Jun 2013 12:13:38 -0000
> @@ -0,0 +1,19 @@
> +$OpenBSD$
> +
> +import right headers
> +
> +--- src/layer3.c.orig        Fri Jun 21 09:12:25 2013
> ++++ src/layer3.c     Fri Jun 21 09:22:48 2013
> +@@ -3,8 +3,12 @@
> + #include <string.h>
> + #include <assert.h>
> + 
> ++#include <sys/types.h>
> ++#include <netinet/in_systm.h>
> ++#include <netinet/in.h>
> + #include <netinet/ip.h>
> + #include <netinet/ip6.h>
> ++#include <sys/socket.h>
> + 
> + #include "log.h"
> + #include "layer3.h"
> Index: pkg/DESCR
> ===================================================================
> RCS file: /cvs/ports/x11/driftnet/pkg/DESCR,v
> retrieving revision 1.1.1.1
> diff -u -p -u -r1.1.1.1 DESCR
> --- pkg/DESCR 30 Apr 2007 13:38:50 -0000      1.1.1.1
> +++ pkg/DESCR 22 Jun 2013 12:13:38 -0000
> @@ -1,3 +1,3 @@
> -Driftnet watches network traffic, and picks out and displays JPEG and
> -GIF images for display.  It can also extract MPEG audio data from the
> -network and play it with an external helper app.  Use at own risk.
> +Driftnet watches network traffic, and picks out and displays JPEG, PNG
> +and GIF images for display.  It can also extract MPEG audio data from
> +the network and play it with an external helper app.  Use at own risk.
> Index: pkg/PLIST
> ===================================================================
> RCS file: /cvs/ports/x11/driftnet/pkg/PLIST,v
> retrieving revision 1.2
> diff -u -p -u -r1.2 PLIST
> --- pkg/PLIST 20 Mar 2010 16:52:08 -0000      1.2
> +++ pkg/PLIST 22 Jun 2013 12:13:38 -0000
> @@ -1,3 +1,6 @@
>  @comment $OpenBSD: PLIST,v 1.2 2010/03/20 16:52:08 jasper Exp $
>  @bin bin/driftnet
>  @man man/man1/driftnet.1
> +share/doc/driftnet/
> +share/doc/driftnet/README
> +share/doc/driftnet/TODO
> 

Reply via email to