Author: oshogbo
Date: Mon Nov 19 17:22:52 2018
New Revision: 340638
URL: https://svnweb.freebsd.org/changeset/base/340638

Log:
  libcasper: provide compatibility with the old version of service
  
  Some external tools like tcpdump(1) have upstream the changes with old limits
  name. Because of that provide compatibility with the old names.
  
  Reported by:  emaste

Modified:
  head/lib/libcasper/services/cap_dns/cap_dns.c

Modified: head/lib/libcasper/services/cap_dns/cap_dns.c
==============================================================================
--- head/lib/libcasper/services/cap_dns/cap_dns.c       Mon Nov 19 17:17:23 
2018        (r340637)
+++ head/lib/libcasper/services/cap_dns/cap_dns.c       Mon Nov 19 17:22:52 
2018        (r340638)
@@ -474,7 +474,8 @@ dns_gethostbyname(const nvlist_t *limits, const nvlist
        struct hostent *hp;
        int family;
 
-       if (!dns_allowed_type(limits, "NAME2ADDR"))
+       if (!dns_allowed_type(limits, "NAME2ADDR") &&
+           !dns_allowed_type(limits, "NAME"))
                return (NO_RECOVERY);
 
        family = (int)nvlist_get_number(nvlin, "family");
@@ -498,7 +499,8 @@ dns_gethostbyaddr(const nvlist_t *limits, const nvlist
        size_t addrsize;
        int family;
 
-       if (!dns_allowed_type(limits, "ADDR2NAME"))
+       if (!dns_allowed_type(limits, "ADDR2NAME") &&
+           !dns_allowed_type(limits, "ADDR"))
                return (NO_RECOVERY);
 
        family = (int)nvlist_get_number(nvlin, "family");
@@ -524,7 +526,8 @@ dns_getnameinfo(const nvlist_t *limits, const nvlist_t
        socklen_t salen;
        int error, flags;
 
-       if (!dns_allowed_type(limits, "ADDR2NAME"))
+       if (!dns_allowed_type(limits, "ADDR2NAME") &&
+           !dns_allowed_type(limits, "ADDR"))
                return (NO_RECOVERY);
 
        error = 0;
@@ -617,7 +620,8 @@ dns_getaddrinfo(const nvlist_t *limits, const nvlist_t
        unsigned int ii;
        int error, family, n;
 
-       if (!dns_allowed_type(limits, "NAME2ADDR"))
+       if (!dns_allowed_type(limits, "NAME2ADDR") &&
+           !dns_allowed_type(limits, "NAME"))
                return (NO_RECOVERY);
 
        hostname = dnvlist_get_string(nvlin, "hostname", NULL);
@@ -703,7 +707,9 @@ dns_limit(const nvlist_t *oldlimits, const nvlist_t *n
                                return (EINVAL);
                        type = nvlist_get_string(newlimits, name);
                        if (strcmp(type, "ADDR2NAME") != 0 &&
-                           strcmp(type, "NAME2ADDR") != 0) {
+                           strcmp(type, "NAME2ADDR") != 0 &&
+                           strcmp(type, "ADDR") != 0 &&
+                           strcmp(type, "NAME") != 0) {
                                return (EINVAL);
                        }
                        if (!dns_allowed_type(oldlimits, type))
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to