[packages] arpd:

- fix compilation against newer libevent by dropping obsolete external references
	- fix uninitialized pointer to pcap pattern leading to invalid filter patterns even if -a is not used
	- remove dependency on @BROKEN


git-svn-id: svn://svn.openwrt.org/openwrt/packages@21268 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
jow 2010-04-30 14:31:18 +00:00
parent 59abbb11d6
commit 2a25ce62b5
3 changed files with 34 additions and 4 deletions

View File

@ -22,7 +22,7 @@ include $(INCLUDE_DIR)/package.mk
define Package/arpd
SECTION:=net
CATEGORY:=Network
DEPENDS:=+libpcap +libdnet +libevent +librt @BROKEN
DEPENDS:=+libpcap +libdnet +libevent +librt
TITLE:=A daemon to fake ARP replies
URL:=http://niels.xtdnet.nl/honeyd/
endef

View File

@ -34,7 +34,7 @@
if ((arpd_pcap = pcap_open_live(dev, 128, 0, 500, ebuf)) == NULL)
errx(1, "pcap_open_live: %s", ebuf);
@@ -465,14 +469,14 @@ main(int argc, char *argv[])
@@ -465,14 +469,15 @@ main(int argc, char *argv[])
{
struct event recv_ev;
extern int (*event_sigcb)(void);
@ -44,6 +44,7 @@
FILE *fp;
dev = NULL;
+ and_pcap_exp = NULL;
debug = 0;
- while ((c = getopt(argc, argv, "di:h?")) != -1) {
@ -51,7 +52,7 @@
switch (c) {
case 'd':
debug = 1;
@@ -480,6 +484,9 @@ main(int argc, char *argv[])
@@ -480,6 +485,9 @@ main(int argc, char *argv[])
case 'i':
dev = optarg;
break;
@ -61,7 +62,7 @@
default:
usage();
break;
@@ -489,9 +496,9 @@ main(int argc, char *argv[])
@@ -489,9 +497,9 @@ main(int argc, char *argv[])
argv += optind;
if (argc == 0)

View File

@ -0,0 +1,29 @@
--- a/arpd.c
+++ b/arpd.c
@@ -449,9 +449,6 @@ arpd_recv(int fd, short type, void *ev)
void
terminate_handler(int sig)
{
- extern int event_gotsig;
-
- event_gotsig = 1;
arpd_sig = sig;
}
@@ -468,7 +465,6 @@ int
main(int argc, char *argv[])
{
struct event recv_ev;
- extern int (*event_sigcb)(void);
char *dev, *and_pcap_exp;
int c, debug;
FILE *fp;
@@ -532,8 +528,6 @@ main(int argc, char *argv[])
perror("signal");
return (-1);
}
- event_sigcb = arpd_signal;
-
event_dispatch();
return (0);