rpms/dnscap/devel dnscap-1.0-isc_list.patch, NONE, 1.1 dnscap-1.0-warns.patch, NONE, 1.1 dnscap.spec, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2

Adam Tkac (atkac) fedora-extras-commits at redhat.com
Tue Aug 7 13:06:45 UTC 2007


Author: atkac

Update of /cvs/pkgs/rpms/dnscap/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv18947

Modified Files:
	.cvsignore sources 
Added Files:
	dnscap-1.0-isc_list.patch dnscap-1.0-warns.patch dnscap.spec 
Log Message:
- initial release


dnscap-1.0-isc_list.patch:

--- NEW FILE dnscap-1.0-isc_list.patch ---
diff -up dnscap/dnscap.c.isc_list dnscap/dnscap.c
--- dnscap/dnscap.c.isc_list	2007-08-07 14:53:02.000000000 +0200
+++ dnscap/dnscap.c	2007-08-07 14:55:30.000000000 +0200
@@ -173,45 +173,45 @@ typedef struct {
 } iaddr;
 
 struct endpoint {
-	ISC_LINK(struct endpoint)  link;
+	LINK(struct endpoint)  link;
 	iaddr			ia;
 };
 typedef struct endpoint *endpoint_ptr;
-typedef ISC_LIST(struct endpoint) endpoint_list;
+typedef LIST(struct endpoint) endpoint_list;
 
 struct mypcap {
-	ISC_LINK(struct mypcap)	link;
+	LINK(struct mypcap)	link;
 	const char *		name;
 	int			fdes;
 	pcap_t *		pcap;
 	int			dlt;
 };
 typedef struct mypcap *mypcap_ptr;
-typedef ISC_LIST(struct mypcap) mypcap_list;
+typedef LIST(struct mypcap) mypcap_list;
 
 struct vlan {
-	ISC_LINK(struct vlan)	link;
+	LINK(struct vlan)	link;
 	unsigned		vlan;
 };
 typedef struct vlan *vlan_ptr;
-typedef ISC_LIST(struct vlan) vlan_list;
+typedef LIST(struct vlan) vlan_list;
 
 struct text {
-	ISC_LINK(struct text)	link;
+	LINK(struct text)	link;
 	size_t			len;
 	char *			text;
 };
 typedef struct text *text_ptr;
-typedef ISC_LIST(struct text) text_list;
+typedef LIST(struct text) text_list;
 #define text_size(len) (sizeof(struct text) + len)
 
 struct myregex {
-	ISC_LINK(struct myregex)  link;
+	LINK(struct myregex)  link;
 	regex_t			reg;
 	char *			str;
 };
 typedef struct myregex *myregex_ptr;
-typedef ISC_LIST(struct myregex) myregex_list;
+typedef LIST(struct myregex) myregex_list;
 
 /* Forward. */
 
@@ -385,11 +385,11 @@ parse_args(int argc, char *argv[]) {
 		ProgramName = argv[0];
 	else
 		ProgramName = p+1;
-	ISC_LIST_INIT(vlans);
-	ISC_LIST_INIT(mypcaps);
-	ISC_LIST_INIT(initiators);
-	ISC_LIST_INIT(responders);
-	ISC_LIST_INIT(myregexes);
+	INIT_LIST(vlans);
+	INIT_LIST(mypcaps);
+	INIT_LIST(initiators);
+	INIT_LIST(responders);
+	INIT_LIST(myregexes);
 	while ((ch = getopt(argc, argv,
 			    "ad1g6vs?i:o:l:p:m:h:e:q:r:b:k:t:c:x:")
 		) != EOF)
@@ -429,22 +429,22 @@ parse_args(int argc, char *argv[]) {
 				usage("-i makes no sense after -o");
 			mypcap = malloc(sizeof *mypcap);
 			assert(mypcap != NULL);
-			ISC_LINK_INIT(mypcap, link);
+			INIT_LINK(mypcap, link);
 			mypcap->name = strdup(optarg);
 			assert(mypcap->name != NULL);
 			mypcap->fdes = -1;
-			ISC_LIST_APPEND(mypcaps, mypcap, link);
+			APPEND(mypcaps, mypcap, link);
 			break;
 		case 'o':
-			if (!ISC_LIST_EMPTY(mypcaps))
+			if (!EMPTY(mypcaps))
 				usage("-o makes no sense after -i");
 			pcap_offline = malloc(sizeof *pcap_offline);
 			assert(pcap_offline != NULL);
-			ISC_LINK_INIT(pcap_offline, link);
+			INIT_LINK(pcap_offline, link);
 			pcap_offline->name = strdup(optarg);
 			assert(pcap_offline->name != NULL);
 			pcap_offline->fdes = -1;
-			ISC_LIST_APPEND(mypcaps, pcap_offline, link);
+			APPEND(mypcaps, pcap_offline, link);
 			break;
 		case 'l':
 			ul = strtoul(optarg, &p, 0);
@@ -452,9 +452,9 @@ parse_args(int argc, char *argv[]) {
 				usage("vlan must be 0 or an integer 1..4095");
 			vlan = malloc(sizeof *vlan);
 			assert(vlan != NULL);
-			ISC_LINK_INIT(vlan, link);
+			INIT_LINK(vlan, link);
 			vlan->vlan = (unsigned) ul;
-			ISC_LIST_APPEND(vlans, vlan, link);
+			APPEND(vlans, vlan, link);
 			break;
 		case 'p':
 			ul = strtoul(optarg, &p, 0);
@@ -529,7 +529,7 @@ parse_args(int argc, char *argv[]) {
 #if HAVE_BINDLIB
 			myregex = malloc(sizeof *myregex);
 			assert(myregex != NULL);
-			ISC_LINK_INIT(myregex, link);
+			INIT_LINK(myregex, link);
 			myregex->str = strdup(optarg);
 			i = regcomp(&myregex->reg, myregex->str, REGEX_CFLAGS);
 			if (i != 0) {
@@ -537,7 +537,7 @@ parse_args(int argc, char *argv[]) {
 					 errbuf, sizeof errbuf);
 				usage(errbuf);
 			}
-			ISC_LIST_APPEND(myregexes, myregex, link);
+			APPEND(myregexes, myregex, link);
 			break;
 #else
 			usage("-x option is disabled due to lack of libbind");
@@ -550,7 +550,7 @@ parse_args(int argc, char *argv[]) {
 	assert(err_wanted != 0U);
 	if (dump_type == nowhere && !dig_it)
 		usage("without -b or -g, there would be no output");
-	if (nonmatching && ISC_LIST_EMPTY(myregexes))
+	if (nonmatching && EMPTY(myregexes))
 		usage("without at least one -x, it makes no sense to say -v");
 	if (dumptrace >= 1) {
 		endpoint_ptr ep;
@@ -571,36 +571,36 @@ parse_args(int argc, char *argv[]) {
 			(err_wanted & ERR_YES) != 0 ? 'Y' : '.',
 			limit_seconds, limit_packets);
 		sep = "\tinit";
-		for (ep = ISC_LIST_HEAD(initiators);
+		for (ep = HEAD(initiators);
 		     ep != NULL;
-		     ep = ISC_LIST_NEXT(ep, link))
+		     ep = NEXT(ep, link))
 		{
 			fprintf(stderr, "%s %s", sep, ia_str(ep->ia));
 			sep = "";
 		}
-		if (!ISC_LIST_EMPTY(initiators))
+		if (!EMPTY(initiators))
 			fprintf(stderr, "\n");
 		sep = "\tresp";
-		for (ep = ISC_LIST_HEAD(responders);
+		for (ep = HEAD(responders);
 		     ep != NULL;
-		     ep = ISC_LIST_NEXT(ep, link))
+		     ep = NEXT(ep, link))
 		{
 			fprintf(stderr, "%s %s", sep, ia_str(ep->ia));
 			sep = "";
 		}
-		if (!ISC_LIST_EMPTY(responders))
+		if (!EMPTY(responders))
 			fprintf(stderr, "\n");
-		if (!ISC_LIST_EMPTY(myregexes)) {
+		if (!EMPTY(myregexes)) {
 			fprintf(stderr, "%s: pat (%smatching):",
 				ProgramName, nonmatching ? "non" : "");
-			for (mr = ISC_LIST_HEAD(myregexes);
+			for (mr = HEAD(myregexes);
 			     mr != NULL;
-			     mr = ISC_LIST_NEXT(mr, link))
+			     mr = NEXT(mr, link))
 				fprintf(stderr, " /%s/", mr->str);
 			fprintf(stderr, "\n");
 		}
 	}
-	if (ISC_LIST_EMPTY(mypcaps)) {
+	if (EMPTY(mypcaps)) {
 		const char *name;
 #ifdef __linux__
 		name = NULL;	/* "all interfaces" */
@@ -614,10 +614,10 @@ parse_args(int argc, char *argv[]) {
 #endif
 		mypcap = malloc(sizeof *mypcap);
 		assert(mypcap != NULL);
-		ISC_LINK_INIT(mypcap, link);
+		INIT_LINK(mypcap, link);
 		mypcap->name = strdup(name);
 		mypcap->fdes = -1;
-		ISC_LIST_APPEND(mypcaps, mypcap, link);
+		APPEND(mypcaps, mypcap, link);
 	}
 }
 
@@ -668,9 +668,9 @@ endpoint_add(endpoint_list *list, iaddr 
 
 	ep = malloc(sizeof *ep);
 	assert(ep != NULL);
-	ISC_LINK_INIT(ep, link);
+	INIT_LINK(ep, link);
 	ep->ia = ia;
-	ISC_LIST_APPEND(*list, ep, link);
+	APPEND(*list, ep, link);
 }
 
 static void
@@ -703,9 +703,9 @@ prepare_bpft(void) {
 	}
 
 	/* Make a BPF program to do early course kernel-level filtering. */
-	ISC_LIST_INIT(bpfl);
+	INIT_LIST(bpfl);
 	len = 0;
-	if (!ISC_LIST_EMPTY(vlans))
+	if (!EMPTY(vlans))
 		len += text_add(&bpfl, "vlan and ");
 	len += text_add(&bpfl, "udp port %d", dns_port);
 	if (!v6bug) {
@@ -722,22 +722,22 @@ prepare_bpft(void) {
 			len += text_add(&bpfl, " and udp[11] & 0x%x = 0x%x",
 					udp11_mbs, udp11_mbs);
 	}
-	if (!ISC_LIST_EMPTY(initiators) && !ISC_LIST_EMPTY(responders)) {
+	if (!EMPTY(initiators) && !EMPTY(responders)) {
 		const char *or = "or", *lp = "(", *sep;
 		endpoint_ptr ep;
 
 		len += text_add(&bpfl, " and host");
 		sep = lp;
-		for (ep = ISC_LIST_HEAD(initiators);
+		for (ep = HEAD(initiators);
 		     ep != NULL;
-		     ep = ISC_LIST_NEXT(ep, link))
+		     ep = NEXT(ep, link))
 		{
 			len += text_add(&bpfl, " %s %s", sep, ia_str(ep->ia));
 			sep = or;
 		}
-		for (ep = ISC_LIST_HEAD(responders);
+		for (ep = HEAD(responders);
 		     ep != NULL;
-		     ep = ISC_LIST_NEXT(ep, link))
+		     ep = NEXT(ep, link))
 		{
 			len += text_add(&bpfl, " %s %s", sep, ia_str(ep->ia));
 			sep = or;
@@ -747,9 +747,9 @@ prepare_bpft(void) {
 	bpft = malloc(len + 1);
 	assert(bpft != NULL);
 	bpft[0] = '\0';
-	for (text = ISC_LIST_HEAD(bpfl);
+	for (text = HEAD(bpfl);
 	     text != NULL;
-	     text = ISC_LIST_NEXT(text, link))
+	     text = NEXT(text, link))
 		strcat(bpft, text->text);
 	text_free(&bpfl);
 	if (dumptrace >= 1)
@@ -768,9 +768,9 @@ static int
 ep_present(const endpoint_list *list, iaddr ia) {
 	endpoint_ptr ep;
 
-	for (ep = ISC_LIST_HEAD(*list);
+	for (ep = HEAD(*list);
 	     ep != NULL;
-	     ep = ISC_LIST_NEXT(ep, link))
+	     ep = NEXT(ep, link))
 		if (ia.af == ep->ia.af)
 			switch (ia.af) {
 			case AF_INET:
@@ -796,12 +796,12 @@ text_add(text_list *list, const char *fm
 
 	text = malloc(sizeof *text);
 	assert(text != NULL);
-	ISC_LINK_INIT(text, link);
+	INIT_LINK(text, link);
 	va_start(ap, fmt);
 	len = vasprintf(&text->text, fmt, ap);
 	assert(len >= 0);
 	va_end(ap);
-	ISC_LIST_APPEND(*list, text, link);
+	APPEND(*list, text, link);
 	return (len);
 }
 
@@ -809,8 +809,8 @@ static void
 text_free(text_list *list) {
 	text_ptr text;
 
-	while ((text = ISC_LIST_HEAD(*list)) != NULL) {
-		ISC_LIST_UNLINK(*list, text, link);
+	while ((text = HEAD(*list)) != NULL) {
+		UNLINK(*list, text, link);
 		free(text);
 	}
 }
@@ -819,12 +819,12 @@ static void
 open_pcaps(void) {
 	mypcap_ptr mypcap;
 
-	assert(!ISC_LIST_EMPTY(mypcaps));
+	assert(!EMPTY(mypcaps));
 	FD_ZERO(&mypcap_fdset);
 	pcap_maxfd = 0;
-	for (mypcap = ISC_LIST_HEAD(mypcaps);
+	for (mypcap = HEAD(mypcaps);
 	     mypcap != NULL;
-	     mypcap = ISC_LIST_NEXT(mypcap, link))
+	     mypcap = NEXT(mypcap, link))
 	{
 		struct bpf_program bpfp;
 #ifdef __APPLE__
@@ -887,9 +887,9 @@ poll_pcaps(void) {
 		return;
 	}
 	/* Poll them all. */
-	for (mypcap = ISC_LIST_HEAD(mypcaps);
+	for (mypcap = HEAD(mypcaps);
 	     mypcap != NULL;
-	     mypcap = ISC_LIST_NEXT(mypcap, link))
+	     mypcap = NEXT(mypcap, link))
 	{
 		n = pcap_dispatch(mypcap->pcap, -1, dl_pkt,
 				  (u_char *)mypcap);
@@ -907,9 +907,9 @@ static void
 breakloop_pcaps(void) {
 	mypcap_ptr mypcap;
 
-	for (mypcap = ISC_LIST_HEAD(mypcaps);
+	for (mypcap = HEAD(mypcaps);
 	     mypcap != NULL;
-	     mypcap = ISC_LIST_NEXT(mypcap, link))
+	     mypcap = NEXT(mypcap, link))
 		pcap_breakloop(mypcap->pcap);
 }
 
@@ -917,9 +917,9 @@ static void
 close_pcaps(void) {
 	mypcap_ptr mypcap;
 
-	for (mypcap = ISC_LIST_HEAD(mypcaps);
+	for (mypcap = HEAD(mypcaps);
 	     mypcap != NULL;
-	     mypcap = ISC_LIST_NEXT(mypcap, link))
+	     mypcap = NEXT(mypcap, link))
 		pcap_close(mypcap->pcap);
 	pcap_close(pcap_dead);
 }
@@ -1009,12 +1009,12 @@ dl_pkt(u_char *user, const struct pcap_p
 		return;
 	}
 
-	if (!ISC_LIST_EMPTY(vlans)) {
+	if (!EMPTY(vlans)) {
 		vlan_ptr vl;
 
-		for (vl = ISC_LIST_HEAD(vlans);
+		for (vl = HEAD(vlans);
 		     vl != NULL;
-		     vl = ISC_LIST_NEXT(vl, link))
+		     vl = NEXT(vl, link))
 			if (vl->vlan == vlan || vl->vlan == 0)
 				break;
 		if (vl == NULL)
@@ -1213,9 +1213,9 @@ network_pkt(const char *descr, my_bpftim
 	} else {
 		return;
 	}
-	if (!((ISC_LIST_EMPTY(initiators) ||
+	if (!((EMPTY(initiators) ||
 	       ep_present(&initiators, initiator)) &&
-	      (ISC_LIST_EMPTY(responders) ||
+	      (EMPTY(responders) ||
 	       ep_present(&responders, responder))))
 		return;
 	if (!(((msg_wanted & MSG_QUERY) != 0 && dns.opcode == ns_o_query) ||
@@ -1229,7 +1229,7 @@ network_pkt(const char *descr, my_bpftim
 			return;
 	}
 #if HAVE_BINDLIB
-	if (!ISC_LIST_EMPTY(myregexes)) {
+	if (!EMPTY(myregexes)) {
 		ns_msg msg;
 		ns_sect s;
 		int match;
@@ -1257,9 +1257,9 @@ network_pkt(const char *descr, my_bpftim
 						return;
 					look = pres;
 				}
-				for (myregex = ISC_LIST_HEAD(myregexes);
+				for (myregex = HEAD(myregexes);
 				     myregex != NULL && !match;
-				     myregex = ISC_LIST_NEXT(myregex, link))
+				     myregex = NEXT(myregex, link))
 					if (regexec(&myregex->reg, look,
 						    0, NULL, 0) == 0)
 					{

dnscap-1.0-warns.patch:

--- NEW FILE dnscap-1.0-warns.patch ---
diff -up dnscap/dnscap.c.warns dnscap/dnscap.c
--- dnscap/dnscap.c.warns	2007-08-07 14:57:48.000000000 +0200
+++ dnscap/dnscap.c	2007-08-07 14:58:00.000000000 +0200
@@ -28,6 +28,8 @@ static const char version[] = "V1.0-RC5 
 
 /* Import. */
 
+#include <config.h>
+
 #include <sys/param.h>
 #include <sys/types.h>
 #include <sys/select.h>


--- NEW FILE dnscap.spec ---
Name:           dnscap
Version:        1.0
Release:        0.3.20070807cvs%{?dist}
Summary:        DNS traffic capture utility

Group:          Applications/Internet
License:        ISC
URL:            http://public.oarci.net/tools/dnscap
Source0:        dnscap-20070807cvs.tar.bz2
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

BuildRequires:  libpcap-devel, bind-devel, autoconf, automake, libtool
BuildRequires:  groff, pkgconfig
Requires:       libpcap, bind-libs

Patch0:         dnscap-1.0-isc_list.patch
Patch1:         dnscap-1.0-warns.patch

%description
dnscap is a network capture utility designed specifically for DNS traffic. It
produces binary data in pcap(3) format, either on standard output or in
successive dump files. This utility is similar to tcpdump(1), but has finer 
grained packet recognition tailored to DNS transactions and protocol options

%prep
%setup -q -n dnscap-20070807cvs

%patch0 -p1 -b .isc_list
%patch1 -p1 -b .warns

%build
autoreconf --install
%configure
make %{?_smp_mflags}

%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT

%clean
rm -rf $RPM_BUILD_ROOT

%files
%defattr(-,root,root,-)
%{_sbindir}/dnscap
%{_mandir}/man1/dnscap.1.gz

%changelog
* Tue Aug 7 2007 Adam Tkac <atkac redhat com> 1.0-0.3.20070807cvs
- updated to latest cvs
- use libbind's isc/list API

* Mon Aug 6 2007 Adam Tkac <atkac redhat com> 1.0-0.2.20070516cvs
- changed license to ISC
- fixed release number

* Wed Aug 2 2007 Adam Tkac <atkac redhat com> 1.0-0.1.rc5
- initial package


Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/dnscap/devel/.cvsignore,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- .cvsignore	6 Aug 2007 16:06:32 -0000	1.1
+++ .cvsignore	7 Aug 2007 13:06:11 -0000	1.2
@@ -0,0 +1 @@
+dnscap-20070807cvs.tar.bz2


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/dnscap/devel/sources,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- sources	6 Aug 2007 16:06:32 -0000	1.1
+++ sources	7 Aug 2007 13:06:11 -0000	1.2
@@ -0,0 +1 @@
+25c13ea648409f1e392f48f1e85efeb4  dnscap-20070807cvs.tar.bz2




More information about the fedora-extras-commits mailing list