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