ports/148242: [PATCH] net/ifstated: update to 4.7
Jim Riggs
ports at christianserving.org
Tue Jun 29 20:10:05 UTC 2010
>Number: 148242
>Category: ports
>Synopsis: [PATCH] net/ifstated: update to 4.7
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: update
>Submitter-Id: current-users
>Arrival-Date: Tue Jun 29 20:10:04 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator: Jim Riggs
>Release: FreeBSD 6.3-RELEASE-p2 amd64
>Organization:
>Environment:
System: FreeBSD zion.christianserving.org 6.3-RELEASE-p2 FreeBSD 6.3-RELEASE-p2 #3: Mon May 5 21:27:22 CDT
>Description:
I had trouble getting this port to behave properly on FreeBSD 8. I
don't know if 8 was the issue or if it was an underlying bug in
ifstated, so I decided to just update to a current version and use
libevent from ports instead instead of the patched event handling.
This cleared up my issues. This port hasn't seen some love for some
time, so I will be happy to take over maintainership if needed.
The tarball pulled from OpenBSD's CVS repo is available at:
http://christianserving.org/ports/net/ifstated/ifstated-4.7.tar.gz
--
- Update to 4.7 from OpenBSD
- Use libevent from ports
- Install ifstated.conf-sample instead of ifstated.conf (to avoid
wiping config on update/deinstall)
Added file(s):
- files/patch-log.c
Removed file(s):
- files/patch-etc-ifstated.conf
- files/patch-ifstated.8
- files/patch-parse.y
Port maintainer (skreuzer at FreeBSD.org) is cc'd.
Generated with FreeBSD Port Tools 0.77
>How-To-Repeat:
>Fix:
--- ifstated-4.7,1.patch begins here ---
diff -ruN --exclude=CVS /usr/ports/net/ifstated/Makefile /root/portwork/ifstated/Makefile
--- /usr/ports/net/ifstated/Makefile 2009-03-27 20:16:34.000000000 -0500
+++ /root/portwork/ifstated/Makefile 2010-06-28 14:04:10.000000000 -0500
@@ -6,25 +6,35 @@
#
PORTNAME= ifstated
-PORTVERSION= 3.7
+PORTVERSION= 4.7
PORTEPOCH= 1
CATEGORIES= net
MASTER_SITES= http://www.atarininja.org/~wxs/distfiles/ \
http://www.pkix.net/mirror/f2o.org/ifstated/
MAINTAINER= skreuzer at FreeBSD.org
-COMMENT= Interface State daemon
+COMMENT= Interface state daemon
-INSTALL_TARGET= install install-man
+LIB_DEPENDS= event:${PORTSDIR}/devel/libevent
+
+MAN5= ifstated.conf.5
MAN8= ifstated.8
-PLIST_FILES= sbin/ifstated etc/ifstated.conf
+PLIST_FILES= etc/ifstated.conf-sample \
+ sbin/ifstated
SUB_FILES= pkg-message
USE_RC_SUBR= ifstated
post-patch:
- @${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|g' ${WRKSRC}/ifstated.c ${WRKSRC}/ifstated.8
+ @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' ${WRKSRC}/Makefile
+ @${REINPLACE_CMD} -e 's|/etc/|${PREFIX}/etc/|g' ${WRKSRC}/ifstated.c ${WRKSRC}/ifstated.8 ${WRKSRC}/ifstated.conf.5
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/ifstated ${PREFIX}/sbin
+ ${INSTALL_DATA} ${WRKSRC}/ifstated.conf-sample ${PREFIX}/etc
+ ${INSTALL_MAN} ${WRKSRC}/ifstated.conf.5 ${PREFIX}/man/man5
+ ${INSTALL_MAN} ${WRKSRC}/ifstated.8 ${PREFIX}/man/man8
post-install:
@${CAT} ${PKGMESSAGE}
diff -ruN --exclude=CVS /usr/ports/net/ifstated/distinfo /root/portwork/ifstated/distinfo
--- /usr/ports/net/ifstated/distinfo 2007-04-14 09:03:19.000000000 -0500
+++ /root/portwork/ifstated/distinfo 2010-06-21 15:58:36.000000000 -0500
@@ -1,3 +1,3 @@
-MD5 (ifstated-3.7.tar.gz) = 3c399ea13e546c9bbf2ba5e844b5728b
-SHA256 (ifstated-3.7.tar.gz) = e4bdd5d53c13daa4fa8936165c5522fe22c4a63a3c59c2c965ccc423aa91deaf
-SIZE (ifstated-3.7.tar.gz) = 12374
+MD5 (ifstated-4.7.tar.gz) = bd94a19e1d94923615573ed6f4aa2107
+SHA256 (ifstated-4.7.tar.gz) = 68381cc577f4f323f90477c1a9bb090a369c3dd098d5baf5175c20941961a7af
+SIZE (ifstated-4.7.tar.gz) = 15057
diff -ruN --exclude=CVS /usr/ports/net/ifstated/files/patch-Makefile /root/portwork/ifstated/files/patch-Makefile
--- /usr/ports/net/ifstated/files/patch-Makefile 2005-05-06 12:39:09.000000000 -0500
+++ /root/portwork/ifstated/files/patch-Makefile 2010-06-15 15:42:45.000000000 -0500
@@ -1,24 +1,11 @@
---- ../ifstated-20050505.orig/Makefile Thu May 5 11:51:24 2005
-+++ Makefile Thu May 5 12:06:07 2005
-@@ -1,4 +1,5 @@
- # $OpenBSD: Makefile,v 1.4 2004/12/14 10:24:15 mpf Exp $
-+# $Id: Makefile,v 1.5 2005/05/05 16:06:07 mdg Exp $
-
- PROG= ifstated
- SRCS= ifstated.c parse.y
-@@ -8,6 +9,14 @@
+--- Makefile.orig 2010-06-11 12:20:08.000000000 -0500
++++ Makefile 2010-06-15 15:42:27.893424629 -0500
+@@ -6,6 +6,8 @@
+ CFLAGS+= -Wstrict-prototypes -Wmissing-prototypes
+ CFLAGS+= -Wmissing-declarations -Wredundant-decls
CFLAGS+= -Wshadow -Wpointer-arith -Wcast-qual
++CFLAGS+= -I%%LOCALBASE%%/include
++LDFLAGS+= -L%%LOCALBASE%%/lib
YFLAGS=
- MAN= ifstated.8
--LDADD+=-lutil -levent
-+
-+
-+install:
-+ $(INSTALL) -m 555 -g bin -o bin ifstated $(PREFIX)/sbin
-+ $(INSTALL) -m 644 -g wheel -o root etc/ifstated.conf $(PREFIX)/etc
-+
-+install-man:
-+ $(INSTALL) -m 444 -g bin -o bin ifstated.8 $(PREFIX)/man/man8
-+
-
- .include <bsd.prog.mk>
+ MAN= ifstated.8 ifstated.conf.5
+ LDADD+=-levent
diff -ruN --exclude=CVS /usr/ports/net/ifstated/files/patch-etc-ifstated.conf /root/portwork/ifstated/files/patch-etc-ifstated.conf
--- /usr/ports/net/ifstated/files/patch-etc-ifstated.conf 2005-05-06 12:39:09.000000000 -0500
+++ /root/portwork/ifstated/files/patch-etc-ifstated.conf 1969-12-31 18:00:00.000000000 -0600
@@ -1,34 +0,0 @@
---- ../ifstated-20050505.orig/etc/ifstated.conf Thu May 5 11:51:24 2005
-+++ etc/ifstated.conf Thu May 5 12:06:08 2005
-@@ -1,4 +1,5 @@
- # $OpenBSD: ifstated.conf,v 1.6 2005/02/07 06:08:10 david Exp $
-+# $Id: ifstated.conf,v 1.3 2005/05/05 16:06:08 mdg Exp $
- # This is a sample config for a pair of firewalls with two interfaces
- #
- # carp0 and carp1 have ip addresses on 192.168.3.0/24 and 192.168.6.0/24
-@@ -7,7 +8,7 @@
- # net.inet.carp.preempt must be enabled (set to 1) for this to work correctly.
-
- # Uncomment one of the following lines to force primary/backup status.
--# init-state primary
-+init-state primary
- # init-state backup
-
- carp_up = "carp0.link.up && carp1.link.up"
-@@ -18,12 +19,12 @@
- # The "net" addresses are other addresses which can be used to determine
- # whether we have connectivity. Make sure the hosts are always up, or
- # test multiple ip's, 'or'-ing the tests.
--net = '( "ping -q -c 1 -w 1 192.168.6.8 > /dev/null" every 10 && \
-- "ping -q -c 1 -w 1 192.168.3.8 > /dev/null" every 10)'
-+net = '( "ping -q -c 1 -t 1 192.168.6.8 > /dev/null" every 10 && \
-+ "ping -q -c 1 -t 1 192.168.3.8 > /dev/null" every 10)'
-
- # The peer addresses below are the real ip addresses of the OTHER firewall
--peer = '( "ping -q -c 1 -w 1 192.168.6.7 > /dev/null" every 10 && \
-- "ping -q -c 1 -w 1 192.168.3.7 > /dev/null" every 10)'
-+peer = '( "ping -q -c 1 -t 1 192.168.6.7 > /dev/null" every 10 && \
-+ "ping -q -c 1 -t 1 192.168.3.7 > /dev/null" every 10)'
-
- state auto {
- if $carp_up
diff -ruN --exclude=CVS /usr/ports/net/ifstated/files/patch-ifstated.8 /root/portwork/ifstated/files/patch-ifstated.8
--- /usr/ports/net/ifstated/files/patch-ifstated.8 2005-05-06 12:39:09.000000000 -0500
+++ /root/portwork/ifstated/files/patch-ifstated.8 1969-12-31 18:00:00.000000000 -0600
@@ -1,17 +0,0 @@
---- ../ifstated-20050505.orig/ifstated.8 Thu May 5 11:51:24 2005
-+++ ifstated.8 Thu May 5 12:06:07 2005
-@@ -1,4 +1,5 @@
- .\" $OpenBSD: ifstated.8,v 1.5 2004/09/27 22:26:26 jaredy Exp $
-+.\" $Id: ifstated.8,v 1.4 2005/05/05 16:06:07 mdg Exp $
- .\"
- .\" Copyright (c) 2004 Ryan McBride <mcbride at openbsd.org>
- .\"
-@@ -79,7 +80,7 @@
- reloads the configuration file.
- .Sh FILES
- .Bl -tag -width "/etc/ifstated.conf" -compact
--.It Pa /etc/ifstated.conf
-+.It Pa %%PREFIX%%/etc/ifstated.conf
- .Nm
- configuration file.
- .El
diff -ruN --exclude=CVS /usr/ports/net/ifstated/files/patch-ifstated.c /root/portwork/ifstated/files/patch-ifstated.c
--- /usr/ports/net/ifstated/files/patch-ifstated.c 2007-04-14 09:03:19.000000000 -0500
+++ /root/portwork/ifstated/files/patch-ifstated.c 2010-06-15 15:35:30.000000000 -0500
@@ -1,267 +1,59 @@
---- ifstated.c-orig Fri Apr 6 09:04:30 2007
-+++ ifstated.c Fri Apr 6 09:05:30 2007
-@@ -1,4 +1,5 @@
- /* $OpenBSD: ifstated.c,v 1.21 2005/02/07 12:38:44 mcbride Exp $ */
-+/* $Id: ifstated.c,v 1.3 2005/05/05 16:06:07 mdg Exp $ */
-
- /*
- * Copyright (c) 2004 Marco Pfatschbacher <mpf at openbsd.org>
-@@ -23,12 +24,15 @@
- */
-
- #include <sys/types.h>
-+#include <sys/event.h>
+--- ifstated.c.orig 2010-06-11 12:20:08.000000000 -0500
++++ ifstated.c 2010-06-15 13:49:50.785704080 -0500
+@@ -26,9 +26,11 @@
#include <sys/time.h>
#include <sys/ioctl.h>
#include <sys/socket.h>
- #include <sys/wait.h>
+#include <sys/sysctl.h>
+ #include <sys/wait.h>
#include <net/if.h>
+#include <net/if_mib.h>
#include <net/route.h>
#include <netinet/in.h>
-@@ -38,8 +42,6 @@
- #include <fcntl.h>
- #include <signal.h>
- #include <err.h>
--#include <event.h>
--#include <util.h>
- #include <unistd.h>
- #include <syslog.h>
- #include <stdarg.h>
-@@ -47,20 +49,22 @@
-
- #include "ifstated.h"
-
-+#define MAX_TIMERS 100
-+
- struct ifsd_config *conf = NULL, *newconf = NULL;
-
- int opts = 0;
- int opt_debug = 0;
- int opt_inhibit = 0;
--char *configfile = "/etc/ifstated.conf";
--struct event rt_msg_ev, sighup_ev, startup_ev, sigchld_ev;
-+char *configfile = "%%PREFIX%%/etc/ifstated.conf";
-+int kq;
-+struct kevent kev;
-
--void startup_handler(int, short, void *);
--void sighup_handler(int, short, void *);
-+void startup_handler(void);
-+void sighup_handler(void);
- int load_config(void);
- void sigchld_handler(int, short, void *);
--void rt_msg_handler(int, short, void *);
--void external_handler(int, short, void *);
-+void rt_msg_handler(int fd);
- void external_async_exec(struct ifsd_external *);
- void check_external_status(struct ifsd_state *);
+@@ -61,6 +63,8 @@
void external_evtimer_setup(struct ifsd_state *, int);
-@@ -75,6 +79,8 @@
- void remove_expression(struct ifsd_expression *, struct ifsd_state *);
- void log_init(int);
- void logit(int, const char *, ...);
-+int get_ifcount(void);
-+int get_ifmib_general(int, struct ifmibdata *);
-
- void
- usage(void)
-@@ -89,7 +95,7 @@
- int
- main(int argc, char *argv[])
- {
-- struct timeval tv;
-+ struct timespec ts;
- int ch;
-
- while ((ch = getopt(argc, argv, "dD:f:hniv")) != -1) {
-@@ -136,26 +142,54 @@
- setproctitle(NULL);
- }
-
-- event_init();
-+ kq = kqueue();
-+
- log_init(opt_debug);
-
-- signal_set(&sigchld_ev, SIGCHLD, sigchld_handler, &sigchld_ev);
-- signal_add(&sigchld_ev, NULL);
-+ ts.tv_sec = 0;
-+ ts.tv_nsec = 0;
-+
-+ EV_SET(&kev, SIGCHLD, EVFILT_SIGNAL, EV_ADD, 0, 0, (void *)sigchld_handler);
-+ kevent(kq, &kev, 1, NULL, 0, &ts);
-
- /* Loading the config needs to happen in the event loop */
-- tv.tv_usec = 0;
-- tv.tv_sec = 0;
-- evtimer_set(&startup_ev, startup_handler, &startup_ev);
-- evtimer_add(&startup_ev, &tv);
-
-- event_loop(0);
-+ EV_SET(&kev, IFSD_EVTIMER_STARTUP, EVFILT_TIMER, EV_ADD|EV_ONESHOT, 0, 0, (void *)startup_handler);
-+ kevent(kq, &kev, 1, NULL, 0, &ts);
-+
-+ /* event loop */
-+ for(;;)
-+ {
-+ /* wait indefinitely for an event */
-+ kevent(kq, NULL, 0, &kev, 1, NULL);
-+
-+ void (*handler)(void);
-+ void (*rt_handler)(int);
-+ if (kev.filter == EVFILT_READ)
-+ {
-+ rt_handler = kev.udata;
-+ rt_handler(kev.ident);
-+ }
-+ else if ((kev.filter == EVFILT_TIMER) && ((kev.ident - IFSD_EVTIMER_EXTERNAL) < MAX_TIMERS))
-+ {
-+ external_async_exec((struct ifsd_external *)kev.udata);
-+ }
-+ else
-+ {
-+ handler = kev.udata;
-+ handler();
-+ }
-+ }
-+
-+ /* NOTREACHED */
- exit(0);
- }
-
- void
--startup_handler(int fd, short event, void *arg)
-+startup_handler()
+ void scan_ifstate(int, int, int);
+ int scan_ifstate_single(int, int, struct ifsd_state *);
++int get_ifcount(void);
++int get_ifmib_general(int row, struct ifmibdata *ifmd);
+ void fetch_state(void);
+ void usage(void);
+ void adjust_expressions(struct ifsd_expression_list *, int);
+@@ -159,7 +163,6 @@
+ startup_handler(int fd, short event, void *arg)
{
int rt_fd;
-+ struct timespec ts;
+- unsigned int rtfilter;
- if (load_config() != 0) {
- logit(IFSD_LOG_NORMAL, "unable to load config");
-@@ -165,18 +199,20 @@
if ((rt_fd = socket(PF_ROUTE, SOCK_RAW, 0)) < 0)
err(1, "no routing socket");
+@@ -169,11 +172,6 @@
+ exit(1);
+ }
-- event_set(&rt_msg_ev, rt_fd, EV_READ|EV_PERSIST,
-- rt_msg_handler, &rt_msg_ev);
-- event_add(&rt_msg_ev, NULL);
-+ ts.tv_sec = 0;
-+ ts.tv_nsec = 0;
-+
-+ EV_SET(&kev, rt_fd, EVFILT_READ, EV_ADD, 0, 0, (void *)rt_msg_handler);
-+ kevent(kq, &kev, 1, NULL, 0, &ts);
-
-- signal_set(&sighup_ev, SIGHUP, sighup_handler, &sighup_ev);
-- signal_add(&sighup_ev, NULL);
-+ EV_SET(&kev, SIGHUP, EVFILT_SIGNAL, EV_ADD, 0, 0, (void *)sighup_handler);
-+ kevent(kq, &kev, 1, NULL, 0, &ts);
-
- logit(IFSD_LOG_NORMAL, "started");
- }
-
- void
--sighup_handler(int fd, short event, void *arg)
-+sighup_handler()
- {
- logit(IFSD_LOG_NORMAL, "reloading config");
- if (load_config() != 0)
-@@ -207,7 +243,7 @@
- }
+- rtfilter = ROUTE_FILTER(RTM_IFINFO);
+- if (setsockopt(rt_fd, PF_ROUTE, ROUTE_MSGFILTER,
+- &rtfilter, sizeof(rtfilter)) == -1) /* not fatal */
+- log_warn("startup_handler: setsockopt");
+-
+ event_set(&rt_msg_ev, rt_fd, EV_READ|EV_PERSIST, rt_msg_handler, NULL);
+ event_add(&rt_msg_ev, NULL);
- void
--rt_msg_handler(int fd, short event, void *arg)
-+rt_msg_handler(int fd)
- {
- char msg[2048];
- struct rt_msghdr *rtm = (struct rt_msghdr *)&msg;
-@@ -245,22 +281,6 @@
+@@ -406,6 +404,8 @@
+ }
}
- void
--external_handler(int fd, short event, void *arg)
--{
-- struct ifsd_external *external = (struct ifsd_external *)arg;
-- struct timeval tv;
--
-- /* re-schedule */
-- tv.tv_usec = 0;
-- tv.tv_sec = external->frequency;
-- evtimer_set(&external->ev, external_handler, external);
-- evtimer_add(&external->ev, &tv);
--
-- /* execute */
-- external_async_exec(external);
--}
--
--void
- external_async_exec(struct ifsd_external *external)
- {
- char *argp[] = {"sh", "-c", NULL, NULL};
-@@ -354,23 +374,28 @@
- external_evtimer_setup(struct ifsd_state *state, int action)
- {
- struct ifsd_external *external;
-+ struct timespec ts;
-+ int freq;
-+ int imod = 0;
-+
-+ ts.tv_nsec = 0;
-+ ts.tv_sec = 0;
++#define LINK_STATE_IS_UP(_s) \
++ ((_s) >= LINK_STATE_UP)
+ #define LINK_STATE_IS_DOWN(_s) \
+ (!LINK_STATE_IS_UP((_s)) && (_s) != LINK_STATE_UNKNOWN)
- if (state != NULL) {
- switch (action) {
- case IFSD_EVTIMER_ADD:
- TAILQ_FOREACH(external,
- &state->external_tests, entries) {
-- struct timeval tv;
-
- /* run it once right away */
- external_async_exec(external);
-
- /* schedule it for later */
-- tv.tv_usec = 0;
-- tv.tv_sec = external->frequency;
-- evtimer_set(&external->ev, external_handler,
-- external);
-- evtimer_add(&external->ev, &tv);
-+ freq = (external->frequency * 1000);
-+ EV_SET(&kev, IFSD_EVTIMER_EXTERNAL + imod, EVFILT_TIMER, EV_ADD, 0, freq, (void *)external);
-+ kevent(kq, &kev, 1, NULL, 0, &ts);
-+ imod ++;
-+ if(imod >= MAX_TIMERS) imod = 0;
- }
- break;
- case IFSD_EVTIMER_DEL:
-@@ -380,7 +405,11 @@
- kill(external->pid, SIGKILL);
- external->pid = 0;
- }
-- evtimer_del(&external->ev);
-+ freq = (external->frequency * 1000);
-+ EV_SET(&kev, IFSD_EVTIMER_EXTERNAL + imod, EVFILT_TIMER, EV_DELETE, 0, freq, (void *)external);
-+ imod ++;
-+ if(imod < MAX_TIMERS)
-+ kevent(kq, &kev, 1, NULL, 0, &ts);
- }
- break;
- }
-@@ -504,7 +533,6 @@
- logit(IFSD_LOG_NORMAL, "changing state to %s",
- conf->nextstate->name);
- if (conf->curstate != NULL) {
-- evtimer_del(&conf->curstate->ev);
- external_evtimer_setup(conf->curstate,
- IFSD_EVTIMER_DEL);
- }
-@@ -550,6 +578,48 @@
+@@ -584,6 +584,44 @@
}
}
-+
+int
+get_ifcount(void)
+{
@@ -282,7 +74,6 @@
+ return(-1);
+}
+
-+
+int
+get_ifmib_general(int row, struct ifmibdata *ifmd)
+{
@@ -301,17 +92,15 @@
+ return sysctl(name, 6, ifmd, &len, (void *)0, 0);
+}
+
-+
-+
/*
* Fetch the current link states.
*/
-@@ -559,29 +629,34 @@
+@@ -593,26 +631,31 @@
struct ifaddrs *ifap, *ifa;
char *oname = NULL;
int sock = socket(AF_INET, SOCK_DGRAM, 0);
-+ int ifcount = get_ifcount();
-+ int i;
++ int ifcount = get_ifcount();
++ int i;
- if (getifaddrs(&ifap) != 0)
+ if (getifaddrs(&ifap) != 0 || ifcount == -1)
@@ -320,7 +109,7 @@
for (ifa = ifap; ifa; ifa = ifa->ifa_next) {
- struct ifreq ifr;
- struct if_data ifrdat;
-+ struct ifmibdata ifmd;
++ struct ifmibdata ifmd;
+ struct if_data ifdata;
if (oname && !strcmp(oname, ifa->ifa_name))
@@ -341,20 +130,8 @@
+ ifdata = ifmd.ifmd_data;
scan_ifstate(if_nametoindex(ifa->ifa_name),
-- ifrdat.ifi_link_state, &conf->always);
-+ ifdata.ifi_link_state, &conf->always);
- if (conf->curstate != NULL)
- scan_ifstate(if_nametoindex(ifa->ifa_name),
-- ifrdat.ifi_link_state, conf->curstate);
-+ ifdata.ifi_link_state, conf->curstate);
+- ifrdat.ifi_link_state, 0);
++ ifdata.ifi_link_state, 0);
}
freeifaddrs(ifap);
close(sock);
-@@ -663,7 +738,6 @@
- TAILQ_REMOVE(&state->external_tests,
- expression->u.external, entries);
- free(expression->u.external->command);
-- event_del(&expression->u.external->ev);
- free(expression->u.external);
- }
- break;
diff -ruN --exclude=CVS /usr/ports/net/ifstated/files/patch-ifstated.h /root/portwork/ifstated/files/patch-ifstated.h
--- /usr/ports/net/ifstated/files/patch-ifstated.h 2005-05-06 12:39:09.000000000 -0500
+++ /root/portwork/ifstated/files/patch-ifstated.h 2010-06-11 13:34:01.000000000 -0500
@@ -1,34 +1,10 @@
---- ../ifstated-20050505.orig/ifstated.h Thu May 5 11:51:24 2005
-+++ ifstated.h Thu Nov 18 16:48:39 2004
-@@ -1,4 +1,5 @@
- /* $OpenBSD: ifstated.h,v 1.4 2004/03/10 00:13:38 deraadt Exp $ */
-+/* $Id: ifstated.h,v 1.2 2004/11/18 21:48:39 mdg Exp $ */
-
- /*
- * Copyright (c) 2004 Ryan McBride
-@@ -47,7 +48,7 @@
-
- struct ifsd_external {
- TAILQ_ENTRY(ifsd_external) entries;
-- struct event ev;
-+ struct kevent kev;
- struct ifsd_expression_list expressions;
- char *command;
- int prevstatus;
-@@ -107,7 +108,7 @@
- TAILQ_HEAD(ifsd_external_list, ifsd_external);
-
- struct ifsd_state {
-- struct event ev;
-+ struct kevent kev;
- struct ifsd_ifstate_list interface_states;
- struct ifsd_external_list external_tests;
- TAILQ_ENTRY(ifsd_state) entries;
-@@ -138,6 +139,7 @@
- };
-
- enum { IFSD_EVTIMER_ADD, IFSD_EVTIMER_DEL };
-+enum { IFSD_EVTIMER_STARTUP, IFSD_EVTIMER_EXTERNAL };
- struct ifsd_config *parse_config(char *, int);
- int cmdline_symset(char *);
- void clear_config(struct ifsd_config *);
+--- ifstated.h.orig 2010-06-11 12:38:31.150643481 -0500
++++ ifstated.h 2010-06-11 12:38:35.768692647 -0500
+@@ -142,5 +142,5 @@
+ void log_warnx(const char *, ...);
+ void log_info(const char *, ...);
+ void log_debug(const char *, ...);
+-__dead void fatal(const char *);
+-__dead void fatalx(const char *);
++__dead2 void fatal(const char *);
++__dead2 void fatalx(const char *);
diff -ruN --exclude=CVS /usr/ports/net/ifstated/files/patch-log.c /root/portwork/ifstated/files/patch-log.c
--- /usr/ports/net/ifstated/files/patch-log.c 1969-12-31 18:00:00.000000000 -0600
+++ /root/portwork/ifstated/files/patch-log.c 2010-06-11 13:34:14.000000000 -0500
@@ -0,0 +1,13 @@
+--- log.c.orig 2010-06-11 13:29:09.127347360 -0500
++++ log.c 2010-06-11 13:29:20.636464838 -0500
+@@ -28,8 +28,8 @@
+ void log_warnx(const char *, ...);
+ void log_info(const char *, ...);
+ void log_debug(const char *, ...);
+-__dead void fatal(const char *);
+-__dead void fatalx(const char *);
++__dead2 void fatal(const char *);
++__dead2 void fatalx(const char *);
+
+ int debug;
+
diff -ruN --exclude=CVS /usr/ports/net/ifstated/files/patch-parse.y /root/portwork/ifstated/files/patch-parse.y
--- /usr/ports/net/ifstated/files/patch-parse.y 2005-05-06 12:39:09.000000000 -0500
+++ /root/portwork/ifstated/files/patch-parse.y 1969-12-31 18:00:00.000000000 -0600
@@ -1,25 +0,0 @@
---- ../ifstated-20050505.orig/parse.y Thu May 5 11:51:24 2005
-+++ parse.y Thu May 5 12:06:07 2005
-@@ -1,4 +1,5 @@
- /* $OpenBSD: parse.y,v 1.9 2005/02/07 12:41:53 mcbride Exp $ */
-+/* $Id: parse.y,v 1.3 2005/05/05 16:06:07 mdg Exp $ */
-
- /*
- * Copyright (c) 2004 Ryan McBride <mcbride at openbsd.org>
-@@ -24,6 +25,7 @@
- #include <sys/types.h>
- #include <sys/time.h>
- #include <sys/socket.h>
-+#include <sys/limits.h>
- #include <netinet/in.h>
- #include <arpa/inet.h>
- #include <net/if.h>
-@@ -35,7 +37,7 @@
- #include <stdio.h>
- #include <string.h>
- #include <syslog.h>
--#include <event.h>
-+#include <sys/event.h>
-
- #include "ifstated.h"
-
diff -ruN --exclude=CVS /usr/ports/net/ifstated/files/pkg-message.in /root/portwork/ifstated/files/pkg-message.in
--- /usr/ports/net/ifstated/files/pkg-message.in 2004-11-20 21:09:12.000000000 -0600
+++ /root/portwork/ifstated/files/pkg-message.in 2010-06-15 16:06:04.000000000 -0500
@@ -1,10 +1,14 @@
*** ATTENTION ***
-To run ifstated from startup, add
-ifstated_enable="YES" to /etc/rc.conf
+You must create a %%PREFIX%%/etc/ifstated.conf file (a sample is
+provided). To run ifstated from startup, add the following to /etc/rc.conf:
+
+ifstated_enable="YES"
+
+
+Available variables you can set in /etc/rc.conf:
-Available variables you add/set to /etc/rc.conf.
- ifstated_enable (bool): Set to "NO" by default.
Set it to "YES" to enable ifstated.
- ifstated_flags (str): Set to "-f %%PREFIX%%/etc/ifstated.conf" by default.
--- ifstated-4.7,1.patch ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list