Add fix from whiterussian
[openwrt.git] / openwrt / package / dsniff / patches / gdbm.patch
index 06f92d9..30190ab 100644 (file)
@@ -1,6 +1,6 @@
 diff -Nur dsniff-2.3/configure dsniff-2.3.patched/configure
 diff -Nur dsniff-2.3/configure dsniff-2.3.patched/configure
---- dsniff-2.3/configure       2005-06-11 16:38:47.000000000 +0200
-+++ dsniff-2.3.patched/configure       2005-06-11 16:39:26.000000000 +0200
+--- dsniff-2.3/configure       2005-06-11 18:13:59.000000000 +0200
++++ dsniff-2.3.patched/configure       2005-06-11 18:14:37.000000000 +0200
 @@ -16,6 +16,8 @@
  ac_help="$ac_help
    --with-db=DIR           use Berkeley DB (with --enable-compat185) in DIR"
 @@ -16,6 +16,8 @@
  ac_help="$ac_help
    --with-db=DIR           use Berkeley DB (with --enable-compat185) in DIR"
@@ -53,7 +53,7 @@ diff -Nur dsniff-2.3/configure dsniff-2.3.patched/configure
  echo $ac_n "checking for libnet""... $ac_c" 1>&6
 diff -Nur dsniff-2.3/record.c dsniff-2.3.patched/record.c
 --- dsniff-2.3/record.c        2000-11-14 16:51:02.000000000 +0100
  echo $ac_n "checking for libnet""... $ac_c" 1>&6
 diff -Nur dsniff-2.3/record.c dsniff-2.3.patched/record.c
 --- dsniff-2.3/record.c        2000-11-14 16:51:02.000000000 +0100
-+++ dsniff-2.3.patched/record.c        2005-06-11 16:39:49.000000000 +0200
++++ dsniff-2.3.patched/record.c        2005-06-11 18:14:56.000000000 +0200
 @@ -13,12 +13,7 @@
  #include <stdio.h>
  #include <time.h>
 @@ -13,12 +13,7 @@
  #include <stdio.h>
  #include <time.h>
@@ -77,7 +77,15 @@ diff -Nur dsniff-2.3/record.c dsniff-2.3.patched/record.c
  
  static int
  xdr_rec(XDR *xdrs, struct rec *rec)
  
  static int
  xdr_rec(XDR *xdrs, struct rec *rec)
-@@ -86,10 +81,10 @@
+@@ -61,7 +56,6 @@
+       
+       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);
+@@ -86,10 +80,10 @@
        fflush(stdout);
  }
  
        fflush(stdout);
  }
  
@@ -90,7 +98,7 @@ diff -Nur dsniff-2.3/record.c dsniff-2.3.patched/record.c
        static u_char hash[16];
        MD5_CTX ctx;
  
        static u_char hash[16];
        MD5_CTX ctx;
  
-@@ -102,16 +97,16 @@
+@@ -102,16 +96,16 @@
        MD5Update(&ctx, rec->data.n_bytes, rec->data.n_len);
        MD5Final(hash, &ctx);
  
        MD5Update(&ctx, rec->data.n_bytes, rec->data.n_len);
        MD5Final(hash, &ctx);
  
@@ -111,7 +119,7 @@ diff -Nur dsniff-2.3/record.c dsniff-2.3.patched/record.c
        XDR xdrs;
        u_char buf[2048];
        
        XDR xdrs;
        u_char buf[2048];
        
-@@ -120,15 +115,15 @@
+@@ -120,15 +114,15 @@
        if (!xdr_rec(&xdrs, rec))
                return (0);
        
        if (!xdr_rec(&xdrs, rec))
                return (0);
        
@@ -131,33 +139,34 @@ diff -Nur dsniff-2.3/record.c dsniff-2.3.patched/record.c
        
        return (1);
  }
        
        return (1);
  }
-@@ -136,18 +131,22 @@
+@@ -136,18 +130,22 @@
  void
  record_dump(void)
  {
 -      DBT key, data;
  void
  record_dump(void)
  {
 -      DBT key, data;
-+      datum nextkey, data;
++      datum nextkey, key, content;
        XDR xdrs;
        struct rec rec;
        
 -      while (db->seq(db, &key, &data, R_NEXT) == 0) { 
        XDR xdrs;
        struct rec rec;
        
 -      while (db->seq(db, &key, &data, R_NEXT) == 0) { 
-+      data = gdbm_firstkey ( dbf );
-+      while (data.dptr) {     
-+              nextkey = gdbm_nextkey ( dbf, data );
++      key = gdbm_firstkey(dbf);
++      while (key.dptr) {      
++              nextkey = gdbm_nextkey(dbf, key);
++              content = gdbm_fetch(dbf, key);
                memset(&rec, 0, sizeof(rec));
 -              xdrmem_create(&xdrs, data.data, data.size, XDR_DECODE);
                memset(&rec, 0, sizeof(rec));
 -              xdrmem_create(&xdrs, data.data, data.size, XDR_DECODE);
-+              xdrmem_create(&xdrs, data.dptr, data.dsize, XDR_DECODE);
-               
+-              
++              xdrmem_create(&xdrs, content.dptr, content.dsize, XDR_DECODE);
                if (xdr_rec(&xdrs, &rec)) {
                        record_print(&rec);
                }
                xdr_destroy(&xdrs);
                if (xdr_rec(&xdrs, &rec)) {
                        record_print(&rec);
                }
                xdr_destroy(&xdrs);
-+              free(data.dptr);
-+              data = nextkey;
++              free(key.dptr);
++              key = nextkey;
        }
  }
  
        }
  }
  
-@@ -155,16 +154,23 @@
+@@ -155,16 +153,23 @@
  record_init(char *file)
  {
        int flags, mode;
  record_init(char *file)
  {
        int flags, mode;
@@ -185,7 +194,7 @@ diff -Nur dsniff-2.3/record.c dsniff-2.3.patched/record.c
                return (0);
  
        return (1);
                return (0);
  
        return (1);
-@@ -203,6 +209,6 @@
+@@ -203,6 +208,6 @@
  void
  record_close(void)
  {
  void
  record_close(void)
  {
This page took 0.029667 seconds and 4 git commands to generate.