diff options
author | Guy Harris <guy@alum.mit.edu> | 2010-09-21 02:46:53 -0700 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2010-09-21 02:46:53 -0700 |
commit | 4d7214cbc5dcc8e9635f99c13367dea37eddda0f (patch) | |
tree | b90d8bc31a6fb418b72caaeaa1ad1a9b37366c6b /pcap-libdlpi.c | |
parent | 74b7b4259fde15dbb07cde3a5920e9f7e0ed4484 (diff) | |
download | libpcap-4d7214cbc5dcc8e9635f99c13367dea37eddda0f.tar.gz |
Treat either EPERM or EACCES as "no soup for you".
Diffstat (limited to 'pcap-libdlpi.c')
-rw-r--r-- | pcap-libdlpi.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/pcap-libdlpi.c b/pcap-libdlpi.c index 56dadc4f..8d6a0386 100644 --- a/pcap-libdlpi.c +++ b/pcap-libdlpi.c @@ -115,7 +115,8 @@ pcap_activate_libdlpi(pcap_t *p) if (retv != DLPI_SUCCESS) { if (retv == DLPI_ELINKNAMEINVAL || retv == DLPI_ENOLINK) err = PCAP_ERROR_NO_SUCH_DEVICE; - else if (retv == DL_SYSERR && errno == EACCES) + else if (retv == DL_SYSERR && + (errno == EPERM || errno == EACCES)) err = PCAP_ERROR_PERM_DENIED; pcap_libdlpi_err(p->opt.source, "dlpi_open", retv, p->errbuf); @@ -238,7 +239,8 @@ dlpromiscon(pcap_t *p, bpf_u_int32 level) retv = dlpi_promiscon(p->hd, level); if (retv != DLPI_SUCCESS) { - if (retv == DL_SYSERR && errno == EACCES) + if (retv == DL_SYSERR && + (errno == EPERM || errno == EACCES)) err = PCAP_ERROR_PERM_DENIED; else err = PCAP_ERROR; |