summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-analyzer/ipcad/files')
-rw-r--r--net-analyzer/ipcad/files/ipcad-3.7-linux-2.6.27.patch21
-rw-r--r--net-analyzer/ipcad/files/ipcad-3.7-linux-2.6.35.patch43
-rw-r--r--net-analyzer/ipcad/files/ipcad-3.7.3-signal_h.patch32
-rw-r--r--net-analyzer/ipcad/files/ipcad.conf.d10
-rw-r--r--net-analyzer/ipcad/files/ipcad.init37
5 files changed, 143 insertions, 0 deletions
diff --git a/net-analyzer/ipcad/files/ipcad-3.7-linux-2.6.27.patch b/net-analyzer/ipcad/files/ipcad-3.7-linux-2.6.27.patch
new file mode 100644
index 000000000000..3b21efb4ff4e
--- /dev/null
+++ b/net-analyzer/ipcad/files/ipcad-3.7-linux-2.6.27.patch
@@ -0,0 +1,21 @@
+--- a/configure.in
++++ b/configure.in
+@@ -156,6 +156,7 @@
+ ])
+
+ AC_CHECK_HEADERS(asm/types.h)
++AC_CHECK_HEADERS(linux/in.h)
+ AC_CHECK_HEADERS(linux/socket.h)
+ AC_CHECK_HEADERS(linux/netlink.h,,,
+ [#ifdef HAVE_LINUX_SOCKET_H
+@@ -164,6 +165,9 @@
+ AC_CHECK_HEADERS(linux/netfilter.h,,,
+ [#ifdef HAVE_LINUX_SOCKET_H
+ #include <linux/socket.h>
++#endif
++#ifdef HAVE_LINUX_IN_H
++#include <linux/in.h>
+ #endif])
+
+ AC_CHECK_HEADERS(linux/if.h,,,
+
diff --git a/net-analyzer/ipcad/files/ipcad-3.7-linux-2.6.35.patch b/net-analyzer/ipcad/files/ipcad-3.7-linux-2.6.35.patch
new file mode 100644
index 000000000000..84cc52da6bfb
--- /dev/null
+++ b/net-analyzer/ipcad/files/ipcad-3.7-linux-2.6.35.patch
@@ -0,0 +1,43 @@
+Author: Peter Volkov <pva@gentoo.org>
+Fixes: https://bugs.gentoo.org/show_bug.cgi?id=335592
+
+i686-pc-linux-gnu-gcc -DIPCAD_VERSION=\"3.7.2\" -DCONFIG_FILE=\"/etc/ipcad.conf\" -DHAVE_CONFIG_H -D_REENTRANT -D_THREAD_SAFE -DPSRC_pcap -DIFST_linux -O2 -pipe -O2 -pipe -I/usr/local/include -DHAVE_CONFIG_H -W -Wall -o dump.o -c dump.c
+In file included from ipcad.h:33:0,
+ from disp.c:29:
+ psrc.h:93:23: error: field ‘peer’ has incomplete type
+
+--- a/configure.in
++++ b/configure.in
+@@ -155,17 +155,29 @@
+ #endif
+ ])
+
+-AC_CHECK_HEADERS(asm/types.h)
+-AC_CHECK_HEADERS(linux/in.h)
++AC_CHECK_HEADERS(asm/types.h sys/socket.h)
++AC_CHECK_HEADERS(linux/in.h linux/in6.h,,,
++[#ifdef HAVE_SYS_SOCKET_H
++#include <sys/socket.h>
++#endif])
+ AC_CHECK_HEADERS(linux/socket.h)
+ AC_CHECK_HEADERS(linux/netlink.h,,,
+ [#ifdef HAVE_LINUX_SOCKET_H
+ #include <linux/socket.h>
++#endif
++#ifdef HAVE_SYS_SOCKET_H
++#include <sys/socket.h>
+ #endif])
+ AC_CHECK_HEADERS(linux/netfilter.h,,,
+ [#ifdef HAVE_LINUX_SOCKET_H
+ #include <linux/socket.h>
+ #endif
++#ifdef HAVE_SYS_SOCKET_H
++#include <sys/socket.h>
++#endif
++#ifdef HAVE_LINUX_IN6_H
++#include <linux/in6.h>
++#endif
+ #ifdef HAVE_LINUX_IN_H
+ #include <linux/in.h>
+ #endif])
+
diff --git a/net-analyzer/ipcad/files/ipcad-3.7.3-signal_h.patch b/net-analyzer/ipcad/files/ipcad-3.7.3-signal_h.patch
new file mode 100644
index 000000000000..83d0a35e01fc
--- /dev/null
+++ b/net-analyzer/ipcad/files/ipcad-3.7.3-signal_h.patch
@@ -0,0 +1,32 @@
+--- a/main.c
++++ b/main.c
+@@ -26,6 +26,8 @@
+ * $Id$
+ */
+
++#include <signal.h> /* signal */
++
+ #include "ipcad.h"
+ #include "cfgvar.h"
+ #include "servers.h"
+--- a/pps.c
++++ b/pps.c
+@@ -26,6 +26,7 @@
+ * $Id$
+ */
+
++#include <signal.h> /* sigprocmask */
+
+ #include "ipcad.h"
+ #include "opt.h"
+--- a/servers.c
++++ b/servers.c
+@@ -26,6 +26,8 @@
+ * $Id$
+ */
+
++#include <signal.h> /* pthread_kill and sigprocmask */
++
+ #include "ipcad.h"
+ #include "servers.h"
+ #include "opt.h"
diff --git a/net-analyzer/ipcad/files/ipcad.conf.d b/net-analyzer/ipcad/files/ipcad.conf.d
new file mode 100644
index 000000000000..acdedbfc1242
--- /dev/null
+++ b/net-analyzer/ipcad/files/ipcad.conf.d
@@ -0,0 +1,10 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# Config file for /etc/init.d/ipcad
+
+# Any extra options you want to pass to ipcad
+# on start-up should be put here.
+# Read tables on startup (-r), daemonize (-d), and save tables on exit (-s).
+IPCAD_OPTS="-rds"
diff --git a/net-analyzer/ipcad/files/ipcad.init b/net-analyzer/ipcad/files/ipcad.init
new file mode 100644
index 000000000000..ba3a88e712e7
--- /dev/null
+++ b/net-analyzer/ipcad/files/ipcad.init
@@ -0,0 +1,37 @@
+#!/sbin/runscript
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+depend() {
+ need net
+}
+
+checkconfig() {
+ if [ ! -f /etc/ipcad.conf ] ; then
+ eerror "No /etc/ipcad.conf file exists!"
+ return 1
+ fi
+
+ `egrep -v "(^#|^$)" /etc/ipcad.conf | grep interface > /dev/null 2>&1` || {
+ eerror "Please, configure at least one interface in /etc/ipcad.conf." ;
+ return 1 ;
+ }
+
+ return 0
+}
+
+start() {
+ # Comment out the following line to get faster startups
+ checkconfig || return 1
+
+ ebegin "Starting ipcad"
+ start-stop-daemon --start --pidfile=/var/ipcad/run/ipcad.pid --exec /usr/sbin/ipcad -- ${IPCAD_OPTS}
+ eend $?
+}
+
+stop () {
+ ebegin "Stopping ipcad"
+ start-stop-daemon --stop --pidfile=/var/ipcad/run/ipcad.pid --exec /usr/sbin/ipcad --retry 20
+ eend $?
+}