<pre style='margin:0'>
Ryan Schmidt (ryandesign) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/bcfc88fbde89929a6655963782c1ac58c0ce884c">https://github.com/macports/macports-ports/commit/bcfc88fbde89929a6655963782c1ac58c0ce884c</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new bcfc88fbde8 tcpick: Add patches from Debian
</span>bcfc88fbde8 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit bcfc88fbde89929a6655963782c1ac58c0ce884c
</span>Author: Ryan Schmidt <ryandesign@macports.org>
AuthorDate: Tue Nov 2 20:09:53 2021 -0500

<span style='display:block; white-space:pre;color:#404040;'>    tcpick: Add patches from Debian
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Fixes build failures, a CVE, and some other bugs.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/63767
</span>---
 net/tcpick/Portfile                                |  29 +-
 net/tcpick/files/CVE-2006-0048.patch               |  18 ++
 .../avoid-implicitly-converted-pointers.patch      |  96 ++++++
 net/tcpick/files/fix-build-with-gcc5.patch         | 233 ++++++++++++++
 net/tcpick/files/fix-double-free-error.patch       |  40 +++
 net/tcpick/files/fix-gcc-10.patch                  |  27 ++
 .../files/fix-infinite-loop-on-powerpc.patch       |  26 ++
 net/tcpick/files/fix-man-invocation.patch          |  22 ++
 net/tcpick/files/fix-spelling-errors.patch         | 342 +++++++++++++++++++++
 net/tcpick/files/implicit.patch                    |  19 ++
 .../set-timestamp-pcap-header-structure.patch      |  77 +++++
 11 files changed, 920 insertions(+), 9 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/tcpick/Portfile b/net/tcpick/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index c82d9d83591..26e85a97aec 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/net/tcpick/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/net/tcpick/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4,7 +4,11 @@ PortSystem          1.0
</span> 
 name                tcpick
 version             0.2.1
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  8d4dd48c639e52ef681cd64c366a99c296171f06 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  cf3c3814518f5565df3884d07e1e3015d88ac1dbfe3885635dd6e67d6ce46dd2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    175871
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> categories          net
 license             GPL-2+
 maintainers         nomaintainer
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -26,15 +30,22 @@ long_description \
</span>     with textmode tools like grep, sed, awk.
 
 homepage            http://tcpick.sourceforge.net/
<span style='display:block; white-space:pre;background:#ffe0e0;'>-platforms           darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-master_sites        sourceforge
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           rmd160  8d4dd48c639e52ef681cd64c366a99c296171f06 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  cf3c3814518f5565df3884d07e1e3015d88ac1dbfe3885635dd6e67d6ce46dd2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+master_sites        sourceforge:project/${name}/${name}/${version}
</span> 
 depends_lib         port:libpcap
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.args      --mandir=${prefix}/share/man
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patch.pre_args      -p1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append   implicit.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# More patches from tcpick_0.2.1-10.debian.tar.xz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append   avoid-implicitly-converted-pointers.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    fix-spelling-errors.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    CVE-2006-0048.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    fix-double-free-error.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    fix-infinite-loop-on-powerpc.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    fix-man-invocation.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    fix-build-with-gcc5.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    set-timestamp-pcap-header-structure.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    fix-gcc-10.patch
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.cflags-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    -std=gnu89
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args      --mandir=${prefix}/share/man
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/tcpick/files/CVE-2006-0048.patch b/net/tcpick/files/CVE-2006-0048.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..e18e14ecec1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/net/tcpick/files/CVE-2006-0048.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,18 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Description: Fix for CVE-2006-0048
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Author: Cédric Delfosse <cedric@debian.org>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Origin: vendor
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Bug-Debian: http://bugs.debian.org/360571
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Last-Update: 2006-04-14
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/src/write.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/src/write.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -241,6 +241,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if( flags.separator && ( out == stdout ) ) /* FIXME: sucks? */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           color( c_SEPARATOR, stdout, SEPARATOR "\n" );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  /* Temporary fix for CVE-2006-0048 */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if (buflen < 0) buflen = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   switch ( flavour ) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   case HEX_ASCII_DUMP:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           out_xa( out, buf, buflen );
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/tcpick/files/avoid-implicitly-converted-pointers.patch b/net/tcpick/files/avoid-implicitly-converted-pointers.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..0ede19d106a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/net/tcpick/files/avoid-implicitly-converted-pointers.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,96 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Description: Avoid implicitly converted pointers
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Implicitly converted pointers will cause segfault on architectures where
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ the size of a pointer is greater than the size of an integer, such as
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ia64.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Author: dann frazier <dannf@dannf.org>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Origin: vendor, https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=326927#5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Bug-Debian: http://bugs.debian.org/326927
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Last-Update: 2005-09-06
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/src/datalink.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -0,0 +1,29 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * datalink.h -- calculates datalink offsets
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * Part of the tcpick project
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * Author: Francesco Stablum <duskdruid @ despammed.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * Copyright (C) 2003, 2004  Francesco Stablum
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * Licensed under the GPL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * This program is free software; you can redistribute it and/or
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * modify it under the terms of the GNU General Public License as
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * published by the Free Software Foundation; either version 2 of the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * License, or (at you option) any later version.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * This program is distributed in the hope that it will be useful, but
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * WITHOUT ANY WARRANTY; without even the implied warranty of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * See the GNU General Public License for more details.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * You should have received a copy of the GNU General Public License
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * along with this program; if not, write to the Free Software
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * USA.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++char *datalink2str(int dl_id);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/src/display.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/src/display.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -28,6 +28,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* FIXME: most code is duplicated: find a better solution! */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "tcpick.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "lookup.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "extern.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ char * 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/src/lookup.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/src/lookup.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -26,6 +26,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  * USA.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifndef _LOOKUP_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define _LOOKUP_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ struct _l_node /* the node/leaf of the tree */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -40,3 +42,9 @@ struct _l_node /* the node/leaf of the t
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   char * name;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   struct in_addr ip;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++char *lookup(struct in_addr ia);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++struct _l_node *_l_alloc(struct in_addr, char *);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++char *_l_get(struct in_addr);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/src/tcpick.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/src/tcpick.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -49,6 +49,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "tcpick.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "globals.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "datalink.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ char *errbuf[PCAP_ERRBUF_SIZE];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ struct bpf_program filter_compiled;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/src/write.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/src/write.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -25,8 +25,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define _GNU_SOURCE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <string.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "tcpick.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "extern.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "lookup.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ __inline__ char * 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ avail_filename(struct CONN * conn_ptr, 
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/tcpick/files/fix-build-with-gcc5.patch b/net/tcpick/files/fix-build-with-gcc5.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..2186f697c30
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/net/tcpick/files/fix-build-with-gcc5.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,233 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Description: Fix build with GCC    5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GCC 5 is more picky with external references which are not properly
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ declared with forward references. Add all relevant functions to tcpick.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ to avoid this problem and fix the problems put into light by this change
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (some invalid function calls).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Author: Raphaël Hertzog <hertzog@debian.org>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Bug-Debian: http://bugs.debian.org/778141
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Origin: vendor
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Last-Update: 2015-07-13
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/src/tcpick.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/src/tcpick.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -10,10 +10,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "config.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define _GNU_SOURCE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <stdio.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <stdlib.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <unistd.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <ctype.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef HAVE_SIGNAL_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # include <signal.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -114,3 +116,102 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "flags.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "lookup.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "timer.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* From args.c */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++void parse_args(int argc, char ** argv);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* From colors.c */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++void textcolor(FILE * out, int attr, int fg, int bg);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++void resetcolor(FILE * out);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++void color(int attr, int fg, FILE * out, char *fmt, ...);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* From datalink.c */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++char *datalink2str(int dl_id);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++int datalink2off(int dl_id);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* From display.c */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++char * status2str(enum STATUS status);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++int display_status( FILE * out, struct CONN * conn, enum STATUS status );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++int display_header( FILE * out );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++int out_h( FILE * out, u_char * buf, int buflen );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++int out_hn( FILE * out, u_char * buf, int buflen );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++int out_p( FILE * out, u_char * buf, int buflen );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++int out_xa (FILE * out, u_char * buf, int buflen);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++int out_x (FILE * out, u_char * buf, int buflen);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* From fragments.c */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++int
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++addfr( struct FRAGMENT ** first,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       int wlen,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       u_int32_t data_off,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       u_char * payload,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       int payload_len );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++int
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++flush_ack( struct HOST_DESC * desc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++           struct CONN * conn_ptr,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++           int ack_num );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* From lookup_query.c */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++char * lookup_new(struct in_addr ia);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++char * lookup(struct in_addr ia);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++char * getportname(u_int16_t port);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* From lookup_tree.c */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++struct _l_node *_l_alloc(struct in_addr, char *);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++char *_l_get(struct in_addr);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++int _l_insert(struct _l_node * new);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* Form msg.c */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++void err(char *fmt, ...);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++void msg(int v, int attr, int fg, char *fmt, ...);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++void sorry(char * func, char * desc);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* From quit.c */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++void fault(char * func, char * desc);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++void suicide(char * func, char * fmt, ...);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++void print_statistics();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++void cleanup();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++void exit_signal(int sig_type);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* From tcpick.c */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++void signal_setup(int sig, void (*handler)(  ));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* From time.c */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++char * time_ascii(char * ret);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* From timer.c */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++void set_timer();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++void check_expired();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++void sigalrm_callback(int sig_type);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* From tracker.c */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++int status_switch(struct CONN * prev, enum STATUS status);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++int newconn( struct CONN * prev_ring );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++int rmconn( struct CONN * prev_ring );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++int free_desc( struct HOST_DESC * desc, int freedescfilename );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* From verify.c */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++int
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++verify();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* From write.c */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++char *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++avail_filename(struct CONN * conn_ptr,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++               enum PART side, char * ext);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++void
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++open_file(struct CONN * conn_ptr,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          struct HOST_DESC * desc);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++int
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++flowflush(struct CONN * conn_ptr,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          struct HOST_DESC * desc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          u_char * buf,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          int buflen);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++int
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++out_flavour(enum FLAVOUR flavour,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            FILE * out,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            u_char * buf,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            int buflen);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/src/loop.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/src/loop.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -95,8 +95,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif /* TCPICK_DEBUG */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           if( flags.header > 0 )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                  display_header( stdout, ippacket, tcppacket, 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                                  payload_len );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                  display_header(stdout);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           verify(); /* call the core to manage the packet */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/src/display.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/src/display.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -297,7 +297,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   color( c_NONPRINT, out, pos % 2 ? "%2.2x " : "%2.2x", *( buf + pos ) );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           /* hex space fill */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                          fprintf(out, pos % 2 ? "   " : "  ", *( buf + pos ) );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                          fprintf(out, pos % 2 ? "   " : "  ");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   pos++;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           } while ( pos % 16 );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/src/tcpick.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/src/tcpick.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -50,10 +50,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "tcpick.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "globals.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-char *errbuf[PCAP_ERRBUF_SIZE];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++char errbuf[PCAP_ERRBUF_SIZE];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ struct bpf_program filter_compiled;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bpf_u_int32 netp; /* ip */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-bpf_u_int32 maskp; /* subnet mask */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++bpf_u_int32 maskp = PCAP_NETMASK_UNKNOWN; /* subnet mask */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ struct in_addr addr;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ char *other_args = NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pcap_t *descr;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -238,7 +238,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                               &filter_compiled,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                               filter, 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                               0, 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                              (int)net 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                              maskp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                         ) == -1) )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   err("error compiling filter \"%s\"",filter);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/src/time.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/src/time.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -42,7 +42,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   tzp = (struct timezone * ) S_malloc( sizeof(struct timezone) );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   memset(tp,  0, sizeof(struct timeval));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  memset(tzp, 0, sizeof(struct timeval));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  memset(tzp, 0, sizeof(struct timezone));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if(gettimeofday(tp, tzp)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -58,7 +58,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                     brokentime->tm_hour,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                     brokentime->tm_min,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                     brokentime->tm_sec,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                    tp->tv_usec
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    (int)tp->tv_usec
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                     );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -79,7 +79,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                     brokentime->tm_hour,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                     brokentime->tm_min,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                     brokentime->tm_sec,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                    tp->tv_usec
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    (int)tp->tv_usec
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                     );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -99,7 +99,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   return ret;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ retNULL:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  sprintf(ret,"");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  ret[0] = '\0';
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   return NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/src/debug.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/src/debug.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -32,7 +32,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ print_conn_chain (struct CONN * f)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   while (f) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          printf ("%x->",f);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          printf ("%p->",f);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           if (f == f->next) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   printf ("inf\n");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -48,7 +48,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ print_fragment_chain(struct FRAGMENT * f)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   while (f) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          printf ("%x(%i,%i)->",f,f->off,f->len);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          printf ("%p(%i,%i)->",f,f->off,f->len);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           if (f == f->next) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   printf ("inf\n");
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/tcpick/files/fix-double-free-error.patch b/net/tcpick/files/fix-double-free-error.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..3abd4001b42
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/net/tcpick/files/fix-double-free-error.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,40 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Description: Fix double-free error
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tcpick try to free twice the pointer to the filename it uses to write
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ the data. This patches fixes that.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Author: Cedric Delfosse <cedric@debian.org>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Bug-Debian: http://bugs.debian.org/319864
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Last-Update: 2005-07-26
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Origin: vendor, https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=319864#19
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/src/tracker.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/src/tracker.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -99,8 +99,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if( curr->next == NULL )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           last_conn = prev_ring;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  free_desc( &(curr->client) );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  free_desc( &(curr->server) );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  free_desc( &(curr->client), 1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if (flags.writer.type == UNIQUE) free_desc( &(curr->server), 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  else free_desc( &(curr->server), 1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   S_free( curr );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   conn = first_conn;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -124,7 +125,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           count_opened--;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-int free_desc( struct HOST_DESC * desc )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++int free_desc( struct HOST_DESC * desc, int freedescfilename )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* frees the host descriptor and closes the file */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   struct FRAGMENT * tmp;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -134,7 +135,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           if (flags.writer.type == UNIQUE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   desc->oth->file = NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  if( desc->filename ) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if( desc->filename && freedescfilename ) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           S_free( desc->filename );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           desc->filename = NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/tcpick/files/fix-gcc-10.patch b/net/tcpick/files/fix-gcc-10.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..8bc130122f5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/net/tcpick/files/fix-gcc-10.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,27 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Description: Fix FTBFS with GCC-10.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Author: Luis Paulo Linares <lpfllinares@gmail.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Bug-Debian: https://bugs.debian.org/957860
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Last-Update: 2020-08-17
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/src/conn.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/src/conn.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -80,5 +80,5 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-struct ip * ip_last_header; /* FIXME: check */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-struct tcphdr * tcp_last_header;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++extern struct ip * ip_last_header; /* FIXME: check */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++extern struct tcphdr * tcp_last_header;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/src/globals.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/src/globals.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -39,7 +39,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int ip_size  = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int tcp_size = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-struct CONN * first_conn;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-struct CONN * last_conn;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++extern struct CONN * first_conn;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++extern struct CONN * last_conn;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enum EXPIRED_FLAG expired_flag;
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/tcpick/files/fix-infinite-loop-on-powerpc.patch b/net/tcpick/files/fix-infinite-loop-on-powerpc.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..0e355f2503f
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/net/tcpick/files/fix-infinite-loop-on-powerpc.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,26 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Description: Fix infinite loop on powerpc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ On the ppc C compiler, char is an unsigned data type. This means that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ no variable of type char can ever compare equal to the int value -1. gcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tries to warn you about this when you compile tcpick, by saying:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ args.c:195: warning: comparison is always true due to limited range of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ data type
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tcpick therefore never makes it past the getopt loop. The following
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patch fixes the problem.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Author: Alan Curry <pacman@world.std.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Origin: other, https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=327327#5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Bug-Debian: http://bugs.debian.org/327327
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Last-Update: 2005-09-09
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/src/args.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/src/args.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -149,7 +149,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ parse_args(int argc, char ** argv)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  char opt;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  int opt;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef HAVE_GETOPT_LONG
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   static struct option long_options[]=
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/tcpick/files/fix-man-invocation.patch b/net/tcpick/files/fix-man-invocation.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..10c98cd66f3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/net/tcpick/files/fix-man-invocation.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,22 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Description: Fix man invocation
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Upon startup, tcpick says:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ important: `man 1 tcpick' explains all options available
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ but the man page is in section 8, not 1. This patch fixes that.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Bug-Debian: http://bugs.debian.org/265067
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Origin: vendor
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Author: Cédric Delfosse <cedric@debian.org>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Last-Update: 2004-08-18
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/src/args.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/src/args.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -386,7 +386,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if(flags.versionandquit) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           color( c_USAGE, stdout, PACKAGE_STRING "\n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        " Author: " AUTHOR "\n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                       " for other info try `man 1 tcpick', or `%s --help'\n\n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                       " for other info try `man tcpick', or `%s --help'\n\n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        TERMS ,TCPICK_NAME);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           exit( TCPICK_SUCCESS );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/tcpick/files/fix-spelling-errors.patch b/net/tcpick/files/fix-spelling-errors.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..f9453055f01
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/net/tcpick/files/fix-spelling-errors.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,342 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Description: Fix spelling errors on source code, man page and doc files
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Author: Marcos Fouces <marcos@debian.org>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/AUTHORS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/AUTHORS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -117,7 +117,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ RPM:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ****
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-Mantained by Dag Wieers, with a lot of platforms available:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Maintained by Dag Wieers, with a lot of platforms available:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ `http://dag.wieers.com/packages/tcpick/'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    Lou Afonso has compiled version 0.1.20
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/ChangeLog
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/ChangeLog
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -82,7 +82,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      Francesco Stablum (duskdruid:despammed.com):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   * Now '\r' and '\t' charachters are printable in 'P' and 'U' modes.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   * Now '\r' and '\t' characters are printable in 'P' and 'U' modes.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    * MacOSX "BIOCSRTIMEOUT: Invalid argument" bug should be fixed.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -160,7 +160,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      Shah discovered it)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    * Bugfix: `u' flag of `-w' worked as with `b' flag either if `b'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-     wasn't choosen.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     wasn't chosen.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 07/09/04 0.2.0-devel1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *********************
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -222,10 +222,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      I have added another set of displaying option, that are prefixed
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      with -b. The -b options are useful to view data only when
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      acknowledged (exactly like data written to files) and with this is
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-     particulary useful the raw mode (-bR) that you can use if you want
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     particularly useful the raw mode (-bR) that you can use if you want
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      to redirect data with a pipe to another software.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   * The newline carachter is suppressed when displaying the payload of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   * The newline character is suppressed when displaying the payload of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      the packet or an acknowledged stream in the case there are no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      banners except the case of the hexdump's.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -248,7 +248,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    * In the hexdump+ascii red dots rapresents now the unprintable
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      carachter.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   * the lenght of the payload is now displayed in the packet banner
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   * the length of the payload is now displayed in the packet banner
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    * rewritten the core of verify.c and fragments.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -486,9 +486,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ added lot of write to file features:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    * header writing, (-wH)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   * only printable charachters writing (-wP)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   * only printable characters writing (-wP)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   * unprintable charachters transformed into hexadecimal code (-wU)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   * unprintable characters transformed into hexadecimal code (-wU)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    * added other options (see manpage for details) -s -P -R -U
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -512,13 +512,13 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ **************
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    * now you can display data in the packet in hexdump mode (-x) and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-     you can watch at the printable ascii charachters too, using -X
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     you can watch at the printable ascii characters too, using -X
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      option
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 28/11/03 0.1.5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ **************
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   * better options managment, including long options
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   * better options management, including long options
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    * added data showing in hexadecimal
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -538,6 +538,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 24/11/03 0.1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ **************
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   * fixed bad managing of payload (now ack packets whith no data are
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   * fixed bad managing of payload (now ack packets with no data are
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      dropped)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/EXAMPLES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/EXAMPLES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -7,7 +7,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1.1 connection status
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ =====================
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-Tcpick is a sniffer able to understand wich status has the connection
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Tcpick is a sniffer able to understand which status has the connection
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (SYN-SENT, SYN-RECEIVED and so on). To see the connection tracker in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ action on eth0 simply type:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/OPTIONS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/OPTIONS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -27,7 +27,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        tcpick  is  a textmode sniffer libpcap-based that can track tcp streams
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        and saves the data captured in different files, each for every  connec-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        tion,  or  displays them in the terminal in different formats (hexdump,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-       printable charachters, raw...)  Useful for picking files in  a  passive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       printable characters, raw...)  Useful for picking files in  a  passive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        way.   It is useful to keep track of what users of a network are doing,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        and is usable with textmode tools like  grep,  sed,  awk.   Happy  data
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        hunting :-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -131,11 +131,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         and -yX options.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        -yP    Shows  data  contained  in  the     tcp   packets.   Non-printable
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        charachters  are  transformed in dots: ".". Newline character is
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        characters  are   transformed in dots: ".". Newline character is
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         preserved.  This is the best way, in my  opinion  to  show  data
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         like HTTP requests, IRC communication, SMTP stuff and so on.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-       -yR    Displays    all  kind of charachters, printable and non printable.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       -yR    Displays    all  kind of characters, printable and non printable.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         If something binary is transmitted, the effect will probably  be
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         like watching with "cat" at a gzipped file.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -145,7 +145,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        -yX    Shows all data after the header in hexadecimal  and  ascii  dump
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         with 16 bytes per line.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-       -yU    Shows all data after the header, but Unprintable charachters are
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       -yU    Shows all data after the header, but Unprintable characters are
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         displayed as hexadecimal values between a "<" and a ">"  symbol.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -160,7 +160,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        If  you use the additional flag b of the -w option (i.e. -wPub), in the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file will be written this banner:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-       [client|server] offset before:offset after (lenght  of  rebuilded  seg-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       [client|server] offset before:offset after (length  of  rebuilded  seg-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ment)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        to distinguish between client and server data.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -177,10 +177,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         changes. Useful for sniffing binary or compressed files.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         (-wRC only the client, -wRS only the server)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-       -wP    Unprintable charachters are written like dots.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       -wP    Unprintable characters are written like dots.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         (-wPC only the client, -wPS only the server)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-       -wU    Unprintable  charachters    are  displayed  as  hexadecimal values
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       -wU    Unprintable  characters     are  displayed  as  hexadecimal values
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         between a "<" and a ">" symbol.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         (-wPC only the client, -wPS only the server)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -222,7 +222,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         you are able to track only the first connection (-T1) matched by
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         tcpick and data are displayed as raw. Only data from the  client
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         are  put  on  stdout.  All  messages and banners are suppressed,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        except error messages (-S -v0), so this  option  is  particulary
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        except error messages (-S -v0), so this  option  is  particularly
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         useful  to  download  an entire fully rebuilded and acknowledged
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         connection.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/README
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/README
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6,7 +6,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ connections data in different files, or it can display all the stream
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ on the terminal, when the connection is closed.  There are useful
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ display modes like hexdump, hexdump + ascii, only printable
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-charachters, raw mode and so on. Available a color mode too, helpful to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++characters, raw mode and so on. Available a color mode too, helpful to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ read better the output of the program.  Actually it can handle eth and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ppp interfaces.  It is useful to keep track of what users of a network
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ are doing, and is usable with textmode tools like grep, sed, awk.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/src/fragments.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/src/fragments.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -162,7 +162,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       int ack_num )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* called by established_packet
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  * when a "ack" packet comes to the network device,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- * data that are unacknowledged will be acknowledged and immediatly
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * data that are unacknowledged will be acknowledged and immediately
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  * sent to the write engine wrebuild 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/src/ip.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/src/ip.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -127,7 +127,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     u_short ip_id;                        /* identification */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     u_short ip_off;                       /* fragment offset field */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define   IP_RF 0x8000                    /* reserved fragment flag */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#define   IP_DF 0x4000                    /* dont fragment flag */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define   IP_DF 0x4000                    /* don't fragment flag */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define   IP_MF 0x2000                    /* more fragments flag */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define   IP_OFFMASK 0x1fff               /* mask for fragmenting bits */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     u_int8_t ip_ttl;                      /* time to live */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/src/lookup_query.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/src/lookup_query.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -86,7 +86,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           return service=(char *)strdup(ptr->s_name);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   debug( "service name NOT resolved: %d",ntohs(port) );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  /* \n carachter should be inserted because this messages comes after 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  /* \n character should be inserted because this messages comes after 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    *  a "printf" message not ended in \n in another function 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   s_port=(char *)S_calloc(128,1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/src/lookup_tree.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/src/lookup_tree.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -206,7 +206,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           _l_root->parent = NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  /* 2. step: the left side C of the node D becames the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  /* 2. step: the left side C of the node D becomes the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    * right of the node B */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   B->right = D->left;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -260,7 +260,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   D->parent = B->parent;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  /* 2. step: the right side C of the node D becames the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  /* 2. step: the right side C of the node D becomes the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    * left of the node B */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   B->left = D->right;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/src/loop.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/src/loop.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -72,7 +72,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef TCPICK_DEBUG
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           if( payload_len != (hdr->len - (int)( payload - packet ) ) ) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+               suicide( "got_packet", 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                       "payload lenght calculated with iplen and hdr->len\n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                       "payload length calculated with iplen and hdr->len\n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "differs by %d bytes\n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "hdr->len = %d\n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "datalink_size  = %d\n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/src/tcpick.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/src/tcpick.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -245,7 +245,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           pcap_setfilter( descr, &filter_compiled );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  /* getting information about the datalink type of the device choosen 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  /* getting information about the datalink type of the device chosen 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      (not all are supported) */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   datalink_id = pcap_datalink( descr );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   datalink_str = (char *)datalink2str( datalink_id );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/tcpick.8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/tcpick.8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -53,7 +53,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tcp streams and saves the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ data captured in different files, each for every connection, 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ or displays them in the terminal in different
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-formats (hexdump, printable charachters, raw...)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++formats (hexdump, printable characters, raw...)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Useful for picking files in a passive way.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ It is useful to keep track of what users of a network are doing, and is
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ usable with textmode tools like grep, sed, awk. 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -141,7 +141,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ discarded. If \fInumber\fP is not specified, it will be set to \fB1\fP.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .TP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .B \-v \fIverbosity\fP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-Quite unuseful, yet. Set verbosity level. Actually there are not 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Quite useless, yet. Set verbosity level. Actually there are not 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ really many
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extra messages to display, this means it is enabled by default
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (\fB-v1\fP). 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -171,13 +171,13 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ \fB-yX\fP options.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .TP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .B \-yP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-Shows data contained in the tcp packets. Non-printable charachters are
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Shows data contained in the tcp packets. Non-printable characters are
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ transformed in dots: "\fB.\fP". Newline character is preserved.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ This is the best way, in my opinion to show data like HTTP requests,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ IRC communication, SMTP stuff and so on.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .TP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .B \-yR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-Displays all kind of charachters, printable and non printable. If
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Displays all kind of characters, printable and non printable. If
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ something binary is transmitted, the effect will probably be like
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ watching with "\fBcat\fP" at a gzipped file.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .TP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -189,7 +189,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bytes per line.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .TP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .B \-yU
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-Shows all data after the header, but \fBU\fPnprintable charachters are
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Shows all data after the header, but \fBU\fPnprintable characters are
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ displayed as hexadecimal values between a "<" and a ">" symbol.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .SH REBUILD AND WRITE THE TCP STREAM TO FILE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -212,7 +212,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (i.e. \fB-wPub\fP), in the file will be written this banner:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .br
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-\fB[client|server] offset before:offset after (lenght of rebuilded
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++\fB[client|server] offset before:offset after (length of rebuilded
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ segment)\fP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .br
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -234,12 +234,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (\fB-wRC\fP only the client, \fB-wRS\fP only the server)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .TP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .B \-wP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-Unprintable charachters are written like dots.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Unprintable characters are written like dots.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .br
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (\fB-wPC\fP only the client, \fB-wPS\fP only the server)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .TP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .B \-wU
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-\fBU\fPnprintable charachters are
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++\fBU\fPnprintable characters are
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ displayed as hexadecimal values between a "<" and a ">" symbol.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .br
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (\fB-wPC\fP only the client, \fB-wPS\fP only the server)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -288,7 +288,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ client are
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ put on stdout. All messages and banners are suppressed, except error
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ messages (\fB-S -v0\fP),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-so this option is particulary useful to download an entire
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++so this option is particularly useful to download an entire
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fully rebuilded and acknowledged connection.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .TP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ \fB -PS --pipe server \fP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/src/text.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/src/text.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -49,7 +49,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  "Usage: " OPTIONS                                                              \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  "Example: tcpick " EXAMPLEARGS "\n\n"                                                        \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  "for an updated list of options see tcpick(1) manpage\n"                               \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "to see version and license informations try `tcpick --version'\n"                     \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "to see version and license information try `tcpick --version'\n"                      \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  "or read the `COPYING' file, released with the package\n\n"                            \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  "tcpick homepage: http://tcpick.sourceforge.net\n\n"                                   \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  MAILING_LIST                                                                             \
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/tcpick/files/implicit.patch b/net/tcpick/files/implicit.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..99a1b7b2411
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/net/tcpick/files/implicit.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,19 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Fix implicit declaration of function exit.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/configure.orig       2005-01-18 15:39:23.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/configure    2021-11-02 20:03:01.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3393,6 +3393,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat >>conftest.$ac_ext <<_ACEOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* end confdefs.h.  */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <ctype.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <stdlib.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if ((' ' & 0x0FF) == 0x020)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3942,6 +3943,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat >>conftest.$ac_ext <<_ACEOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* end confdefs.h.  */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <ctype.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <stdlib.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if ((' ' & 0x0FF) == 0x020)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/tcpick/files/set-timestamp-pcap-header-structure.patch b/net/tcpick/files/set-timestamp-pcap-header-structure.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..288887b3d15
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/net/tcpick/files/set-timestamp-pcap-header-structure.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,77 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Description:Tcpick can display timestamps in the output with the -t and -td switch. It currently computes a timestamp on the fly which has the following consequences
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+* Inaccurate timestamps when it is operated in real time mode (-i switch)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+* Nonsense when reassembling off-line captures / when reading pcap files
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Author: Gerard Wagener
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Bug-Ubuntu:https://bugs.launchpad.net/ubuntu/+source/tcpick/+bug/364688
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/src/extern.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/src/extern.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -13,6 +13,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extern struct ip *ippacket;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extern struct tcphdr *tcppacket;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extern struct udphdr *udppacket;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++extern struct pcap_pkthdr* phdr;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extern u_char *payload;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extern int payload_len;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extern struct FLAGS flags;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/src/globals.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/src/globals.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -12,6 +12,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ struct ip *ippacket;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ struct tcphdr *tcppacket;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ struct udphdr *udppacket;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++struct pcap_pkthdr* phdr = NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ u_char *payload;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int payload_len = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ struct FLAGS flags;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/src/loop.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/src/loop.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -38,6 +38,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ { /* FIXME: this function is too long */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* Keep track of the original pcap header in order to put correct timestamps */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    phdr=(struct pcap_pkthdr *)hdr;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   /* check if the flag for checking for expired connections 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      is turned on */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/src/time.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/src/time.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -32,22 +32,16 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   struct timeval  *tp;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  struct timezone *tzp;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   struct tm * brokentime;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if(flags.displaytime == NOTHING_TIME)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     goto retNULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  tp  = (struct timeval  * ) S_malloc( sizeof(struct timeval) );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  tzp = (struct timezone * ) S_malloc( sizeof(struct timezone) );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  tp = &phdr->ts;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if(!tp) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  memset(tp,  0, sizeof(struct timeval));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  memset(tzp, 0, sizeof(struct timezone));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  if(gettimeofday(tp, tzp)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    perror("gettimeofday returned not 0!");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    goto retNULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    perror("No timestamp was available!");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    goto retNULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     brokentime = localtime(&(tp->tv_sec));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -93,9 +87,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  S_free ( tp ); 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  S_free ( tzp );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   return ret;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ retNULL:
</span></pre><pre style='margin:0'>

</pre>