X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/bc410907642bad21b1e87cc1eac40a445b537d3b..07268a08a0a997b6082f77e9ec6c59812ce217f4:/tcpdump.c diff --git a/tcpdump.c b/tcpdump.c index 88e20588..9790a4e3 100644 --- a/tcpdump.c +++ b/tcpdump.c @@ -179,6 +179,7 @@ static char *remote_interfaces_source; /* list available devices from this sourc * dflag but, instead, *if* built with optimizer debugging code, * *export* a routine to set that flag. */ +extern int dflag; int dflag; /* print filter code */ static int Gflag; /* rotate dump files after this many seconds */ static int Gflag_count; /* number of files created with Gflag rotation */ @@ -1188,9 +1189,10 @@ _U_ #ifdef HAVE_PCAP_OPEN /* - * Prefix for rpcap URLs. + * Prefixes for rpcap URLs. */ static char rpcap_prefix[] = "rpcap://"; +static char rpcap_ssl_prefix[] = "rpcaps://"; #endif static pcap_t * @@ -1206,7 +1208,8 @@ open_interface(const char *device, netdissect_options *ndo, char *ebuf) /* * Is this an rpcap URL? */ - if (strncmp(device, rpcap_prefix, sizeof(rpcap_prefix) - 1) == 0) { + if (strncmp(device, rpcap_prefix, sizeof(rpcap_prefix) - 1) == 0 || + strncmp(device, rpcap_ssl_prefix, sizeof(rpcap_ssl_prefix) - 1) == 0) { /* * Yes. Open it with pcap_open(). */ @@ -2268,7 +2271,7 @@ DIAG_ON_CLANG(assign-enum) if (pdd == NULL) error("%s", pcap_geterr(pd)); #ifdef HAVE_CAPSICUM - set_dumper_capsicum_rights(p); + set_dumper_capsicum_rights(pdd); #endif if (Cflag != 0 || Gflag != 0) { #ifdef HAVE_CAPSICUM